Çok ümit etmemize rağmen kullanıcılar arasında zorlu şifre kullanmak gibi bir eğilim görülmüyor.
Rakam ve harften oluşan standart şifreler md5 ile hash edilse bile, db dökümü alınıp hash taraması yapıldığında kırılmış olarak karşımıza çıkabiliyor.
http://www.md5decrypter.co.uk/ sitesini kullanarak 30 kurumsal kullanıcının şifresini karşılaştırdığımda 13 tanesinin direk bu siteye kayıtlı olduğunu gördüm…
Yalın md5’i terk etmek ama gölgesini sistemde bırakmak için şöyle bir fonksiyon yazdım. Sizin de işinize yarar umarım.
Özgürce kullanabilirsiniz
function mds($key) { /* Sabri Unal tarafından 26 Temmuz 2013 tarihinde Thailand/Songkhla'da yazılmıştır. Özgürce kullanabilirsiniz GPL and Anywhere */ /** * Şifre Hatırlat özelliği bulunan bir sistem için şunu önerebilirim Her yıl değişiminde yeniden şifrelemeye zorlamak için $salt2 = date("Y"); olarak ayarlanması yeterlidir. Her ay yeniden şifrelemeye zorlamak için $salt2 = date("Ym"); olarak ayarlanması yeterlidir. $salt0 değeri en basit şifreyi sıfır/Zero bile olsa güçlendirecek sayı + harf + şekil + karakter gibi zorlu bir kombinasyondan oluşmalıdır en son aşamada md5 kullanılmasının amacı çıktıyı normal bir md5 çıktısıymış gibi göstermektir */ $salt0 = "Md55__??**!!"; $salt1 = 'projeyeozel1'; //bir hash $salt2 = 'projeyeozel2'; //bir başka hash $s0 = md5($salt0); $s1 = md5($salt1); $s2 = md5($salt2); $f0 = md5($key.$s0); //aşama 1 $f1 = hash('sha1', $s0.$f0); //aşama 2 $f2 = hash('sha256', $s1.$f1); //aşama 3 $f3 = hash('sha512', $s2.$f2); //aşama 2 ters $f2 = hash('sha256', $s1.$f3); //aşama 1 ters $f1 = hash('sha1', $s0.$f2); //sadece maskeleme $f0 = hash('md5', $s2.$f1); return $f0; }