我找到了这些有趣的哈希密码
一个是
$user_passcode = SHA1(MD5($_POST['user_passcode']));
和其他是
$user_passcode = SHA1(SHA1(MD5($_POST['user_passcode'])));
从安全角度来看,这种方法是否可以接受?
答案 0 :(得分:0)
无!您不应该尝试使用网站的安全性。 请勿使用未经专业人员测试的加密方法。
双重哈希只是浪费时间。这就像试图通过默默无闻来构建安全性。
这不是最好的,但我会发布,因为它是一个内置函数,绝对比md5()
更安全。
password_hash($pass, PASSWORD_DEFAULT, ['cost' => 12]);
注意:费用取决于您的服务器在登录时需要与密码匹配的程度。您设置的越高,它就越难以消耗资源。服务器来匹配它。
password_verify($pass, $db_pass);
澄清:这是我所知道的最好,最安全的方法。如果有人比password_hash()
更有争议和安全,请分享。
<强>代码强>:
// When you store it
password_hash($pass, PASSWORD_DEFAULT, ['cost' => 12]);
// When you check if they match
password_verify($pass, $db_pass);
参考:@erickson写了一个很棒的答案here。