password_needs_rehash

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_needs_rehashBelirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular

Açıklama

password_needs_rehash(string$aş, string|int|null$algo, array$seçenekler = []): bool

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.

Bağımsız Değişkenler

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.

Dönen Değerler

Aş, verilen algo ve seçeneklerle eşleşecek şekilde yeniden aşlanmalıysa true, aksi takdirde false döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
7.4.0algo için artık bir dizge gerekiyor, ancak geriye uyumluluk için hala tamsayılar kabul ediliyor.

Örnekler

Ö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ç
}
?>
To Top