md5加密的坑

代码示例:

 两个不一样的字符串md5加密后对比竟然相等?

解释: 由于代码示例里面的两个字符串md5()加密后都生成了以  0e  开头的32位十六进制数 ,在使用'!=' 或 '==' 时将以 0e 开头的哈希值隐式转化成了 0 ,最后对比起来就是相等的结果。最好是使用 '===' 来做对比比较靠谱。


md5('s878926199a'): 0e545993274517709034328855841020
md5('QNKCDZO')    : 0e830400451993494058024219903391

原文地址:https://www.cnblogs.com/minss/p/13851022.html