Bu yazımızda Php ile nasıl Md5 şifreleme yapacağımızı ve ne işe yarayacağı üzerine yorumlarda bulunacağız. Md5 HASHING / FINGERPRINTING algoritmasıdır ve 128-bit’lik (16-bayt) bir çıktı üretir. Web uygulamalarında kullanıcı parolalarının güvenle saklanabilmesi için en çok kullanılan yöntemlerden biridir.
Nasıl Kullanılır?
Md5 fonksiyonu algoritmanın kendi adıyla kullanılmaktadır.
[php][/php]
bu kodları içeren dosyamız çalıştırıldığında 827ccb0eea8a706c4c34a16891f84e7b
çıktısını elde ederiz. Buradaki metin parolamız olan ‘12345’ in kodlanmış halidir.
Yazımızın başında dediğimiz ve örneğimizde uyguladığımız gibi, Md5 genelde kullanıcı parolalarının güvenle saklanması için kullanılmaktadır. Bunun işleyiş mantığı ise şöyledir:
Kayıt esnasında= Kullanıcı kayıt formu -> formdan gelen parola md5 ile kodlanır -> kodlanmış parola veritabanındaki ilgili tablo ve sütuna eklenir.
Oturum açma esnasında= = Oturum açma formu -> formdan gelen parola md5 ile kodlanır -> kodlanmış parola veritabanında bulunan kodlanmış parola ile karşılaştırılır -> Eğer aynı ise oturum açtırılır, değilse uyarı v.b.
Md5 Kırılabilir mi?
Md5’i de bulan insanoğludur ve kırılabilir 🙂 Bu nedenle ne olursa olsun, hangi site olursa olsun parolalarımızı yeterince güçlü tutmalıyız ( rakam, karakter, harf kombinasyonları). Aksi halde yukarıda kullanmış olduğumuz ‘12345’ parolasının Md5 kodlu halini kırmak sadece birkaç saniye sürmektedir.
Alternatifleri
Md5 yerine Php, crc32() ve sha1() fonksiyonlarını da sunmaktadır.
Tanıdık yerler
Örneğin PhpNuke, PhpBB, wordpress kullanıcı parolalarını Md5 ile kodlayarak saklar. SMF ise sha1() ile kodlamaktadır.