我有点困难。我的mysql 4.1.0数据库必须升级(1和1),但应用程序似乎使用PASSWORD()进行散列。对于MySQL5升级,PASSWORD()给出了完全不同的结果,因此密码不能被正确读取和验证。
OLD_PASSWORD()似乎不能加密/解密到4.1.0版本,而是更早的4.0版本。
我能做什么?
发布于 2013-06-12 07:35:53
“为兼容起见,添加了old_passwords系统变量,以使DBA和应用程序能够控制散列方法。默认密码值为0会导致散列使用4.1方法(41字节的散列值),但设置old_passwords会导致散列使用4.1之前的方法。在这种情况下,old_passwords=1 ()会生成16字节值,相当于OLD_PASSWORD()”
我建议强制每个人创建一个新密码,通过电子邮件和随机密钥进行验证,然后使用好的方法存储新密码(使用PHPass或至少使用盐加密)。
https://stackoverflow.com/questions/17055531
复制相似问题