我有一个供用户使用的旧表。
旧插入示例:INSERT INTO user SET password = PASSWORD('qwerty')
我需要将旧表中的所有用户导入到 WordPress 用户中。我该怎么做?
最佳答案
MySQL 的 PASSWORD() 函数执行双 SHA1 散列,这是不可逆的。您无法找回原始密码。
要转换为不同的哈希函数,您必须要求用户重新输入密码。
<小时/>进一步的思考:我曾经有过更改应用程序的哈希函数的经历。我无法要求所有用户重新输入密码。因此,我必须在应用程序中编写特殊代码来支持这两种哈希格式。验证登录密码时,获取哈希密码 infer the hashing function from the length of the hash string ,然后在应用程序中执行密码验证。当任何用户更改密码时,当然会使用新函数存储哈希值。最终,几乎所有用户都在不知不觉中将其密码存储转换为新功能。然后我联系了一些用户,要求他们更改密码。
除非您有升级所有密码散列所需的最后期限(例如为了遵守某些安全法规),否则此策略有效。我的优势是申请只是内网申请,没有严格的截止日期。
关于php - MYSQL PASSWORD() 转 MD5() WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25391581/