jer*_*ear 12
UPDATE table SET Password = MD5(Password)
Run Code Online (Sandbox Code Playgroud)
我会说虽然MD5不是一个非常好的加密级别,你应该考虑更强大的东西,比如使用自定义盐的ENCRYPT.在这里阅读它
编辑:看起来原始问题已更改.这是改变的查询以适应
UPDATE table SET Password = MD5(Password) WHERE ID!=[specified index]
Run Code Online (Sandbox Code Playgroud)
编辑:值得注意
用于在 MySQL 数据库中存储密码的哈希函数比 MD5 多得多。
您可以在MySQL :: 11.10.2上找到它们的列表。加密和压缩功能。
UPDATE users SET password = SHA('secret_password') WHERE ....;
Run Code Online (Sandbox Code Playgroud)
SELECT COUNT(*) FROM users WHERE name = 'username' && password = SHA('typed_password');
Run Code Online (Sandbox Code Playgroud)
如果结果 > 0,则用户提供了正确的密码。
对密码进行散列时,不要忘记给它们加盐,这样相同的密码就不会产生相同的散列:
SET @salt := CONV(FLOOR(RAND() * 0x100000000), 10, 16)
UPDATE passwords
SET password = CONCAT(@salt, SHA(CONCAT(@salt, @typed_password)))
SELECT 1
FROM passwords
WHERE SHA(CONCAT(SUBSTRING(password, 1, 8), @typed_password)) = SUBSTRING(password, 9, 40)
Run Code Online (Sandbox Code Playgroud)