MySQL MD5 选择
以下查询返回 null。
SELECT `email`, `password`, `salt` FROM `users` WHERE `password` = md5(`salt`+md5('123123'+`salt`)+'123123') AND `email` = '[email protected]'
以下查询返回“d2b4312db21705dafd96df14f8525fef”,但为什么呢?
SELECT md5( 'Vwm' + md5( '123123' + 'Vwm' ) + '123123' )
此代码返回“422ad0c19a38ea88f4db5e1fecaaa920”。
$salt = 'Vwm';
$password = '123123';
echo md5($salt . md5($password . $salt) . $password);
进行用户授权。如何创建对数据库的查询,以便第一个采取 SALT 和 SALT 有这个我做了一些 MD5 函数?
This following query returned null.
SELECT `email`, `password`, `salt` FROM `users` WHERE `password` = md5(`salt`+md5('123123'+`salt`)+'123123') AND `email` = '[email protected]'
The following query returned 'd2b4312db21705dafd96df14f8525fef', but why?
SELECT md5( 'Vwm' + md5( '123123' + 'Vwm' ) + '123123' )
This code returned '422ad0c19a38ea88f4db5e1fecaaa920'.
$salt = 'Vwm';
$password = '123123';
echo md5($salt . md5($password . $salt) . $password);
Do user authorization. How do I create a query to the database so that the first took SALT and SALT have this I did some MD5 function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要 concat() 字符串,然后对它们执行 md5() 。
这样它就会正确返回与 PHP 脚本相同的值:
You need to concat() the strings then execute md5() on them.
This way it returns correctly the same value as your PHP script:
MySQL 中的字符串连接需要使用 CONCAT()`。这;
实际上是在字符串中添加一个数字:
因此您的查询与 PHP 端不同,因为您没有对相同的字符串进行哈希处理。
String concatenation in MySQL requires using CONCAT()`. This;
is actually adding a number to a string:
So your query is not the same as the PHP side, as you're not hashing the same string.