|

PHP password_hash Fonksiyonu ve Güvenilirliği



Ali Can Gönüllü tarafından 2022-02-05 01:51:08 tarihinde yazıldı. Tahmini okunma süresi 1 dakika, 32 saniye.



Çalışmalarım için bağış yapmak isterseniz Patreon hesabımdan bağışta bulunabilirsiniz.

Blog adresinde yazılanlar sadece eğitim amacıyla deneysel olarak hazırlanmıştır. Konu içerisinde geçen yöntemleri kendi oluşturduğunuz test ortamında denemenizi tavsiye ederiz.
Herhangi bir tarih, yer ve/veya mekanda oluşacak zararlardan alicangonullu.org, alicangonullu.org yöneticisi ve/veya konu yazarı mesul değildir.

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 resim için metin sağlanmadı

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!