0
我發現這個例子如何散列和檢查密碼與PHP。這是安全的嗎?這是一個很好的例子來模仿?PHP:這個密碼加密是否安全?
public function hashPassword($mail, $password, $salt, $rounds='08')
{
$length = strlen($password) * 4;
$data = str_pad($password, $length, sha1($mail), STR_PAD_BOTH);
$string = hash_hmac('whirlpool', $data, SERVER_KEY, true);
return crypt($string, '$2a$' . $rounds . '$' . $salt);
}
public static function checkPassword($mail, $password, $stored)
{
$length = strlen($password) * 4;
$data = str_pad($password, $length, sha1($mail), STR_PAD_BOTH);
$string = hash_hmac ('whirlpool', $data, SERVER_KEY, true);
return (crypt($string, substr($stored, 0, 30)) === $stored);
}
哦,請不要稱之爲解密密碼,你會開始「憤怒」。無論如何,爲什麼使用比bcrypt/scrypt/ppbkdf2還要多的東西呢? – JimL
好吧,你是對的。這不是一個解密功能。 – Pascal
其實它也不是加密的,漩渦是一個哈希算法:P現在我只是覺得自己像一個混蛋o我還是推薦一個可靠的,經過驗證的例程,比如bcrypt或者pbkdf2 – JimL