如下图,md5不是依赖输入么?为什么加md5就能绝对唯一了?求大神解答!
PHP 又不是没有官方手册,为啥要看二手的资料呢……
谁也没说你百度出来的结果就一定都是对的。
Warning: This function tries to create unique identifier, but it does not guarantee 100% uniqueness of return value.警告:此函数尽可能会创建唯一识别符,但它不保证返回值百分百唯一。
P.S. 任何只依赖伪随机数发生器的算法,都无法做到“真·唯一”,只能尽可能降低碰撞概率。
15 回答8.4k 阅读
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
终于自己找到原因了,md5(uniqid(mt_rand(), true)),这个其实就是双随机+时间戳生成的唯一id,基本上,这个算法在很大程度上能保证唯一性了,但确实存在碰撞的可能。

结论:
1、md5(uniqid(mt_rand(), true)) 理论上确实存在碰撞可能
2、小公司放心用,大厂就谨慎使用