PHP7 中旧散列盐的 crypt() 回退
crypt() fallback for old hash salts in PHP7
我正在努力将我的代码库升级到 PHP-7,我遇到了一些老用户的问题,他们的 salt 格式与 DES 不兼容。我的想法是对用户进行身份验证,然后将 hash salt 转换为与新 crypt 兼容的新格式,例如 Blowfish。
当我尝试将 'crypt()' 与旧盐一起使用以便在更改盐之前对用户进行身份验证时出现问题,我收到以下错误:
crypt(): Supplied salt is not valid for DES. Possible bug in provided
salt format.
有没有办法将 crypt(或替代函数)与其他算法一起使用,以便我可以使用旧格式的 salt?
对于有同样问题的人,我使用 password_verify
解决了它,实际上在下面使用 password_hash
,它支持现有的密码哈希,正如 Joachim 所建议的。
你只需要记住一件事,password_verify 有一个特定的时间 运行。如果您使用的是密码,强烈推荐。
我正在努力将我的代码库升级到 PHP-7,我遇到了一些老用户的问题,他们的 salt 格式与 DES 不兼容。我的想法是对用户进行身份验证,然后将 hash salt 转换为与新 crypt 兼容的新格式,例如 Blowfish。
当我尝试将 'crypt()' 与旧盐一起使用以便在更改盐之前对用户进行身份验证时出现问题,我收到以下错误:
crypt(): Supplied salt is not valid for DES. Possible bug in provided salt format.
有没有办法将 crypt(或替代函数)与其他算法一起使用,以便我可以使用旧格式的 salt?
对于有同样问题的人,我使用 password_verify
解决了它,实际上在下面使用 password_hash
,它支持现有的密码哈希,正如 Joachim 所建议的。
你只需要记住一件事,password_verify 有一个特定的时间 运行。如果您使用的是密码,强烈推荐。