md5('240610708')
的结果是 0e462097431906509019562988736854
。
md5('QNKCDZO')
的结果是 0e830400451993494058024219903391
。
它们都是浮点数格式字符串(数字字符串),如果您在php中使用 ==
进行比较时,当比较涉及到数值字符串或数值与字符串的比较时,每个字符串都会被转换为数值,然后进行数值比较。
当使用 ==
进行比较时,两个字符串都被转换为 0
。如果您想将它们作为字符串进行比较,请记得使用 ===
(严格比较)。
你需要使用类型敏感的比较运算符===
。
这两个哈希值分别为0e462097431906509019562988736854
和0e830400451993494058024219903391
。当你使用==
时,由于其中的e
(科学计数法),它们都被转换为数字表示形式,所以它们都变成了0
。0 == 0
是真的。
另一方面,这个:
md5('240610708') === md5('QNKCDZO')
由于字符串的值不同,返回false
。===
强制进行类型敏感比较。
false
。 - user180100===
代替) - knittl0^(x)
,其中x
是哈希的下一个部分。这样,0e123
被解释为整数:0^123
。 因此,对于任何x,y>0
,都有0^y==0^x
。所以,你得到了输出true
。 - Egor