Merhabalar,
Bu yazımda sizlere PHP'de bulunan password_hash fonksiyonunun algoritmasını ve ne kadar güvenilir olduğunu anlatmaya çalışacağım. Şimdiden keyifli okumalar dilerim.
password_hash() PHP 5 ile gelen, önemli bir veriyi şifrelemek için kullanılan, md5() ve sha1() fonksiyonlarının alternatifi olan bir fonksiyondur. Doğrulama fonksiyonu ise password_verify() şeklinde kullanılır Öncelikle örnek olarak bir kod yazalım.
<?php echo password_hash("hello", PASSWORD_DEFAULT)."\n"; ?>
Bu kodla "hello" yazısını kriptoladı ve bize şuna benzer bir çıktı verecek.
$2y$10$CrWphhEwrJcD8uJVXXYOu.aboa6VbYY6etpmuMOsBCfLLcKrG4loe
Bu çıktıyı biraz daha irdelersek
Bu şekilde bir sonuca ulaşırız. Sarı kısımda algoritmanın tipi belirlenir, mavi kısımda algoritmanın ayarları belirlendikten sonra önüne salt bir kod girilir ve ardından şifrenin asıl şifrelenmiş hali gelir.
Peki güvenlik anlamında bize ne vaadediyor ?
Evet, bir güvenlik vaadediyor. Çünkü PHP dili doğrulama aşamasında bu kodu çözmüyor sizin girdiğiniz ve doğrulamak istediğiniz string değerini şifreliyor ve eşleştiriyor. Bu sayede BASE64 gibi her anlamda çözülebilen bir şifreleme değil MD5 tarzı çözülmesi zor bir algoritma görüyoruz.
Ancak tabi ki hacklenemeyen ve çözülemeyen bir algoritma yoktur. Elbette bir yerde yenilenmesi gerekecektir ki PHP topluluğu da üç adet şifreleme fonksiyonu ile bu işi çok iyi idare ediyor gibi görünüyor. Gerisini zaman gösterecek.
Okuduğunuz için tekrar teşekkür ederim!