我的网站仍在使用md5哈希,我需要升级,但我不知道如何。。。这是我现在使用的代码
$salt1 = "mysite";
$salt1 = md5($salt1);
$salt2 = "passed";
$salt2 = md5($salt2);
$salt3 = "php";
$salt3 = md5($salt3);
$password1 = $salt1.$password1.$salt3;
希望您升级到bcrypt,这是现在的标准。(PHP 5>=5.5.0)
最简单的方法是将密码存储在两列中。当有人连接时,他们没有bcrypt哈希密码,请使用他们输入的有效密码,使用bcrypt进行哈希,并将其存储在新列中。该用户现在已经转换,您可以清空他们旧的MD5。
几个月后,禁用任何长时间没有使用过该网站的用户,并让他们重新设置密码以恢复访问权限。这允许在用户影响最小的情况下逐步过渡。
-
还有密码兼容性包,适用于尚未升级到PHP 5.5 的用户
-
访问:https://github.com/ircmaxell/password_compat/
<?php
/**
* In this case, we want to increase the default cost for BCRYPT to 12.
* Note that we also switched to BCRYPT, which will always be 60 characters.
*/
$options = [
'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options)."n";
?>
这来自php手册,这将是你需要进入的方向。我建议进一步阅读php中内置的bcrypt功能,以获得更深入的理解。