(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_needs_rehash — Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular
Bu işlev, belirtilen aşın belirtilen algoritma ve seçeneklerle yeniden aşlanması gerekip gerekmediğine bakar. Gerekliyse, aşın yeniden aşlanması gerektiği varsayılır.
aş
password_hash() işleviyle oluşturulan aş.
algo
Parolaya karıştırma uygulamak için kullanılacak algoritmayı belirten parola algoritması sabiti.
seçenekler
Seçenekleri içeren ilişkisel bir dizi. Her algoritma için desteklenen seçenekler parola algoritması sabitleri bölümünde bulunabilir.
Aş, verilen algo
ve seçenekler
le eşleşecek şekilde yeniden aşlanmalıysa true
, aksi takdirde false
döndürür.
Sürüm: | Açıklama |
---|---|
7.4.0 | algo için artık bir dizge gerekiyor, ancak geriye uyumluluk için hala tamsayılar kabul ediliyor. |
Örnek 1 - password_needs_rehash() kullanımı
<?php
$parola = 'rasmuslerdorf';
$aş = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
$algorithm = PASSWORD_BCRYPT;
// bcrypt'in cost (maliyeti), donanımın geliştirilmesine bağlı olarak
// zamanla değişebilir
$sçnkler = array('cost' => 12);
// Saklı aşı düz metin parola ile doğrula
if (password_verify($parola, $aş)) {
// Aşlama algoritmasının veya seçeneklerin değişip değişmediğine bak
if (password_needs_rehash($aş, $algorithm, $sçnkler)) {
// Gerekliyse, yeni bir aş oluştur ve eskisinin yerine koy
$yeniAş = password_hash($parola, $algorithm, $sçnkler);
// Kullanıcı kaydını $yeniAş ile güncelle
}
// Kullanıcıya oturum aç
}
?>