如何升级我的php-mysql密码哈希



我的网站仍在使用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功能,以获得更深入的理解。

相关内容

  • 没有找到相关文章

最新更新