我有一个使用旧哈希方法的MySQL数据库。 现在我想用AES
这个新的哈希方法SELECT HEX(AES_ENCRYPT('%s', 'key'));
Soo,有人可以帮我查询转换所有使用此哈希的密码
SELECT PASSWORD('TEST');
介绍新的?
我认为不可能直接从加密密码到新的密码.. soo也许 首先解密(从旧)查询然后加密(到新的aes)查询。
此致
答案 0 :(得分:2)
Encryption and hashing are very different operations。加密是可逆的。哈希是单向的。
此外,correct way to store passwords不涉及快速哈希函数,如SHA1(MySQL用于PASSWORD()
函数),更不用说AES,它涉及缓慢的哈希函数,如bcrypt。
使用password_hash()
和password_verify()
。不要在SQL查询中执行此操作。阅读this section以了解如何将旧版哈希迁移到正确的密码存储算法。