首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么md5('240610708')等于md5('QNKCDZO')?

为什么md5('240610708')等于md5('QNKCDZO')?
EN

Stack Overflow用户
提问于 2014-03-03 06:36:20
回答 2查看 23.8K关注 0票数 29
代码语言:javascript
复制
var_dump(md5('240610708') == md5('QNKCDZO'));

输出:

代码语言:javascript
复制
bool(true)

示例: http://3v4l.org/2vrMi

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-03 06:39:44

md5('240610708')的结果是0e462097431906509019562988736854

md5('QNKCDZO')的结果是0e830400451993494058024219903391

它们都是浮点数格式字符串(数值字符串),如果在php中使用==,则当将数字与字符串进行比较或比较涉及数字字符串时,则每个字符串被转换为数字并执行数字比较。

0相比,这两个字符串都被转换为==,如果您想将它们作为字符串进行比较,请记住使用===( strings )代替。

请参阅:PHP expresses two different strings to be the same

票数 45
EN

Stack Overflow用户

发布于 2014-03-03 06:40:25

您需要使用类型敏感的比较运算符===

散列计算结果分别为0e4620974319065090195629887368540e830400451993494058024219903391。当您使用==时,由于e (科学表示法),它们都被转换为数字表示,因此它们都成为00 == 0是真的。

另一方面,这是:

代码语言:javascript
复制
md5('240610708') === md5('QNKCDZO')

返回false,因为字符串值不同。===强制类型敏感的比较.

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22140204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档