【问题标题】:MYSQL 4 password hashing -> MYSQL 5MYSQL 4 密码散列 -> MYSQL 5
【发布时间】:2013-06-07 23:26:56
【问题描述】:

我有一点困境。我的 mysql 4.1.0 数据库必须升级(1and1),但应用程序似乎使用 PASSWORD() 进行散列。使用 mysql 5 升级 PASSWORD() 给出完全不同的结果,因为密码无法正确读取和验证。

OLD_PASSWORD() 似乎没有加密/解密到 4.1.0 版本,而是更早的 4.0。

我能做什么?

【问题讨论】:

标签: php mysql upgrade password-encryption mysql5


【解决方案1】:

“出于兼容性目的,old_passwords 系统变量是 添加,以使 DBA 和应用程序能够控制散列 方法。默认 old_passwords 值为 0 导致散列使用 4.1 方法(41 字节哈希值),但设置 old_passwords=1 会导致哈希使用 4.1 之前的方法。在这种情况下, PASSWORD() 产生 16 字节值,相当于 OLD_PASSWORD()"

我建议强制每个人创建一个新密码,通过电子邮件和随机密钥进行验证,然后用一种好的方法存储新密码(使用 PHPPass 之类的东西,或者至少使用带盐的 bcrypt)。

【讨论】:

    猜你喜欢
    • 2013-06-21
    • 1970-01-01
    • 2011-01-20
    • 2023-03-29
    • 2014-06-10
    • 2010-11-08
    • 2011-08-10
    • 2013-06-20
    相关资源
    最近更新 更多