doğrulama yapmak için kullanılan, teorik olarak her farklı girdi için farklı çıktı veren hashing algoritması.
bu mantıkdan ötürü web ortamında kullanıcıların şifrelerini saklamak için kullanılabilir.
atıyorum itü sözlük için kullandığınız şifre dünyanın ortak şifresi "123456" olsun md5 çıktısı olarak "e10adc3949ba59abbe56e057f20f883e" elde edilir. bu andan itibaren sözlük yapay zekasının asıl şifreyi bilmesine gerek yoktur.
formdan gelen şifre bilgisi md5 ile
hash edilir ve kullanıcı kaydında verilen şifre bilgisinin md5 hash hali ile karşılaştırılır eğer tutarlılık varsa kabul edilir yoksa şifre yanlış denir. bu sayede database bir başkasının eline geçse dahi şifreler güvende olacaktır.
md5 ve diğer hash algoritmalarının en zayıf kısmı
brute force a karşı dayanıksız olmasıdır, bunun için sadece rakamlardan oluşan 8 haneli bir şifre "99999999" farklı şekilde oluşturulur, basit bir php koduyla dahi yine piyasada kullanılan herhangi bir bilgisayar ile saniyede binlerce işlem yaparak sadece sayılardan oluşan bir şifre bir kaç dakikada kırılabilir.
bunun için şifreler büyük küçük harf, rakam , ve mümkünse özel karakterlerden oluşmalıdır. çünkü md5 büyük küçük harfe duyarlıdır.
md5 in diğer bir kullanım alanı ise dosya adreslemektir, teorikde her bir girdi için farklı sonuçlar verdiği için binlerce hatta milyonlarca dosyanın bilgisini tutacak serverlarda örneğin emule serverları bu dosyaların her biri hakkında eşsiz
* bir bilgiye ihtiyaç duyar, burada yine md5 veya benzeri bir hash sistemi kullanılır. dosyanın adı farklı olsa dahi server adreslenen dosyanın hash halini alır ve kaydeder bu sayede aynı dosyalar farklı isimlerde dahi olsalar tanımlanabilirler.
başka bir doğrulama alanı ise herhangi bir siteden indireceğiniz dosyanın hash halinin sitede size bildirilmesi yöntemidir, güvenliğe aşırı önem veren kurumlar yayınladıkları dosyaların hash hallerini sitelerinde yayımlar, bu sayede siz dosyayı başka bir kaynaktan indirmiş olursanız ve dosyanın içeriği değiştirildi ise, eldeki dosyayı hash eder ve çıktısına bakarsınız bu sayedede dosyanın güvenilrliği konusunda bilgi sahibi olabilirsiniz.