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