2015-04-01 54 views
0

我正在PHP Laravel中開發應用程序。它使用bcrypt加密來存儲密碼。我想在用戶更改密碼時保留哈希的歷史記錄。通過這樣做,我想在某些情況下停止用戶輸入以前的密碼。保持哈希的歷史是否安全?防止用戶一次又一次保留相同密碼的密碼歷史記錄

我正在使用內置函數。我對這種加密知之甚少。根據我的觀察,如果用戶更改密碼並保持與之前相同,則散列值會有所不同。我怎樣才能阻止他保持以前的歷史相同的密碼?使用bcrypt加密有可能嗎?

回答

1

是的,這是完全保存。您可以使用Hash::check()將新密碼與較舊的哈希進行比較。例如像這樣($hashes是一組舊的哈希)

$newPassword = 'secret'; 
foreach($hashes as $hash){ 
    if(Hash::check($newPassword, $hash)){ 
     exit('Sorry can\'t use the same password twice'); 
    } 
} 
+0

謝謝...... :) – 2015-04-01 21:22:06

相關問題