鍍金池/ 問(wèn)答/PHP/ 關(guān)于PHP的password API的一點(diǎn)疑問(wèn)

關(guān)于PHP的password API的一點(diǎn)疑問(wèn)

PHP 自帶的password api中有兩個(gè)函數(shù)password_hash和password_verify.
password_hash對(duì)同一字符串每次取得的哈希值是不一樣的,但是我們?nèi)稳豢梢酝ㄟ^(guò)password_verify來(lái)判斷字符串是否一樣,我想知道這里面的原理,還請(qǐng)各路大神賜教

回答
編輯回答
陌璃

password_hash() 返回的散列包含了算法、 cost 和鹽值
password_verify()只是再算一遍。

2018年1月8日 10:17
編輯回答
瘋子范

clipboard.png
加密之后有兩段,前面的是顏值,后面的是加密后的,

2018年3月27日 15:48
編輯回答
笨小蛋
$passwordHash = password_hash('123456', PASSWORD_DEFAULT);
// $passwordHash 也可以是從數(shù)據(jù)庫(kù)查詢出來(lái)的數(shù)據(jù),如通過(guò)唯一用戶名,查出該用名hash后密碼

if (password_verify('123456', $passwordHash)) {
    echo 'success';
} else {
    echo 'fail';
}
2017年1月17日 07:01