在mysql上执行sha1()时,根据字符串的连接方式,我得到不同的结果。

用加号运算符查询

SELECT SHA1("test"+"6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9")


导致哈希c1dfd96eea8cc2b62785275bca38ac261256e278

CONCAT()查询

SELECT SHA1(CONCAT("test", "6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9"))


导致哈希17b80b7eb824d0796c6203a231ac2b2d5f41f949

为什么MySQL会那样表现?

查询在PHPMyadmin中执行的位置

最佳答案

我做了这个小测试:

set @tester = "test"+"6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9";
select @tester;

结果显示数字6
这样,我们可以观察与concat的区别以及sha1的计算为何不同。

关于mysql - 为什么MySQL上的SHA1使用加号运算符计算不同的哈希值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25627435/

10-15 15:56
查看更多