6
新PHP密碼API中的函數password_verify()會檢查密碼是否與哈希對應。哈希由password_hash()生成,默認情況下使用隨機鹽和cost = 10
。password_verify如何在不知道鹽和成本的情況下驗證密碼?
我一直認爲(儘管我從來沒有研究過)必須將鹽存儲在數據庫中,然後當您想要驗證密碼時,使用相同的成本對給定的鹽進行哈希處理。 password_verify()
如何在不知道鹽和成本的情況下檢查密碼?
...這是一個#$ @%的好主意......爲什麼以前沒有人想過呢?我以爲還要存儲一個「密碼版本」,所以如果我改變算法,那麼擁有「舊哈希」的人可以無論如何都能夠登錄......但是通過這個API,不需要做所有的事情! –
是的,希望PHP開發人員最終會讓'md5()'現在退休。 –
@LucasMalor - 這不是一項新發明,PHP的函數'crypt()'始終這樣做,這是'password_hash()'後面的工作函數。 – martinstoeckli