Etiket arşivi: md5

md5 Hash Fonksiyonu

Geçenlerde şifrelemeyle alakalı birkaç makale okudum. Md5 hash fonksiyonu da bu amaçla kullanılıyor. Tek yönlü olması, yani md5 sonucu elinizde olan bir veriye erişmenizin imkansıza yakın olması ilgimi çekti. Ben de ufak bir araştıma yaptım. Öğrendiklerimi paylaşmak istiyorum. Öncelikle md5 bir şifreleme yöntemi değil, hash fonksiyodur. Hash fonksiyonları ise bilindiği üzere bir veri topluluğundan verileri ayrı ayrı temsil edebilecek maksimum eşitsizlikte id çıkarma işlemidir. Peki bu fonksiyonun ismi neden md5? Çünkü bunun md4, md2, md gibi versiyonları da var. Bu son versiyon MIT’de profesör olan Ron Rivest tarafından, 1991 yılında md4 versiyonu geliştirilerek yapılmıştır. Md kısmının açılımı ‘Message Digest’ tır. Peki bunun karşılığı nedir derseniz, Türkçe’ye çevirince çok da anlamlı olmuyor açıkçası. Yani md5 fonksiyonunun temeli Message Digest Algoritması’na dayanmaktadır. Bu algoritmanın amacı ise değişik uzunluklardaki verileri işleyip, sabit uzunlukta veri elde etmektir. Md5 hash fonksiyonunda da işlenen veri 128 bit veriye dÖnüştürülür. Bu da 32 adet hexadecimal karakter yapmaktadır. Mantığına baktığımızda bu fonksiyonu sonsuz tane veri girdirebiliriz ama sonucunda hep 32 hex karakter çıkacağına göre, bazı verilerin md5 dönüşümleri aynı olacaktır. Olasılık çok küçük olsa da,farklı veriler için aynı sonuçları verecek olması güvenlik açısından biraz sıkıntı oluşturabilir. Ama bu sıkıntı da birkaç küçük işlemle giderilebilir. Açıkçası bu fonksiyonun algoritmasını tamamiyle öğrenmedim ama ilgilenenler internetten ulaşabilirler. Yakında bloğuma bu konuyla alakalı küçük bir eklenti yapmayı da düşünüyorum.