在mysql上执行sha1()
时,我会得到不同的结果,具体取决于字符串的连接方式。
使用加号运算符查询
SELECT SHA1("test"+"6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9")
导致哈希c1dfd96eea8cc2b62785275bca38ac261256e278
使用CONCAT()
SELECT SHA1(CONCAT("test", "6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9"))
导致哈希17b80b7eb824d0796c6203a231ac2b2d5f41f949
为什么MySQL的表现如此?
查询在PHPMyadmin中执行
答案 0 :(得分:1)
我做了这个小测试:
set @tester = "test"+"6JjSrnm5HX4MiNmJpC0M8VMAj4No6Bv9";
select @tester;
这会显示数字6
。
通过这种方式,我们可以观察与concat
的区别以及sha1
计算不同的原因。