|

PHP password_hash Fonksiyonu ve Güvenilirliği



alicangonullu tarafından 2022-02-05 01:51:08 tarihinde yazıldı. Tahmini okunma süresi 1 dakika, 32 saniye. 193 kere görüntülendi.




Disclaimer


The information provided in this blog post is intended for educational and informational purposes only. It is not intended to encourage or promote any illegal or unethical activities, including hacking, cyberattacks, or any form of unauthorized access to computer systems, networks, or data.

Yasal Uyarı
Bu blog yazısında sağlanan bilgiler yalnızca eğitim ve bilgilendirme amaçlıdır. Bilgisayar korsanlığı, siber saldırılar veya bilgisayar sistemlerine, ağlara veya verilere herhangi bir şekilde yetkisiz erişim de dahil olmak üzere herhangi bir yasa dışı veya etik olmayan faaliyeti teşvik etme veya reklamlama amacı taşımaz.
Yasal bilgiler için yasal sayfasını inceleyebilirsiniz .

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!