PHP'de Şifreleme ve Password Hash Kullanımı

Noxen

Administrator
Yönetici
Katılım
20 Eylül 2026
Mesajlar
228
Tepkime puanı
18
Puan
18
1791386434427.webp


Kullanıcı şifrelerini veritabanında düz metin olarak saklamak güvenlik açısından doğru değildir. PHP bunun için "password_hash()" ve "password_verify()" fonksiyonlarını sunuyor.

Kayıt sırasında şifreyi hash'lemek oldukça basittir:

PHP:
<?php

$password = $_POST['password'];

$hash = password_hash(
    $password,
    PASSWORD_DEFAULT
);

echo $hash;

?>

Oluşturulan hash değeri veritabanında saklanabilir. Kullanıcı daha sonra giriş yaptığında ise gönderdiği şifre doğrudan hash ile karşılaştırılmaz. Bunun yerine "password_verify()" kullanılır.

PHP:
<?php

$password = $_POST['password'];
$hash = $user['password'];

if (password_verify($password, $hash)) {

    echo "Şifre doğru.";

} else {

    echo "Şifre hatalı.";

}

?>

Buradaki önemli noktalardan biri, aynı şifre için oluşturulan hash değerlerinin her zaman aynı olmak zorunda olmamasıdır. PHP gerekli bilgileri hash içerisinde tuttuğu için doğrulama işlemi "password_verify()" tarafından gerçekleştirilir.

Bu nedenle kullanıcı şifrelerini kendi oluşturduğumuz basit yöntemlerle şifrelemek yerine PHP'nin parola hash fonksiyonlarını kullanmak daha doğru bir yaklaşımdır.
 
Geri
Üst