我期待實現BCrypt到一個web應用的水平,但是我在如何整合/轉變工作/迭代/幾輪的水平左丟失:Bcrypt用PHP 5.4.16 - 工作
從PHP 5.3.0起,PHP包含自己的實現。
據我所知,使用$pw = crypt($password);
會自動創建一個隨機鹽對我來說,我也可以只存儲$pw
在數據庫中。
我知道我可以使用檢查密碼有效性
if (crypt($user_input, $pw) == $pw)) {
// password is valid
} else {
// password is not valid
}
我知道那Bcrypt那麼好,原因是bcrypt是一種基於河豚地穴自適應功能。隨着時間的推移,輪數可以增加以使其變慢,所以儘管計算技術更快,它仍然抵抗暴力攻擊。
所以我的問題是,我如何減慢或加快密碼的有效性檢查?或者換一種說法,我如何設置創建我的哈希密碼所需的默認迭代次數?
'crypt()'函數將不會爲您生成隨機鹽。雖然有一個名爲[password_hash()](http://www.php.net/manual/en/function.password-hash.php)的PHP 5.5的新函數,它將處理所有的東西,並自動生成一個安全鹽。它將在內部調用crypt()函數。使用'password_hash()'代替,早期的PHP版本也有一個[兼容包](https://github.com/ircmaxell/password_compat/blob/master/lib/password.php)。 – martinstoeckli