关于php的uniqid生成唯一ID的疑问
如下图,md5不是依赖输入么?为什么加md5就能绝对唯一了?求大神解答!
回答:
终于自己找到原因了,md5(uniqid(mt_rand(), true)),这个其实就是双随机+时间戳生成的唯一id,基本上,这个算法在很大程度上能保证唯一性了,但确实存在碰撞的可能。
结论:
1、md5(uniqid(mt_rand(), true)) 理论上确实存在碰撞可能
2、小公司放心用,大厂就谨慎使用
回答:
md5(uniqid(mt_rand(), true))
回答:
PHP 又不是没有官方手册,为啥要看二手的资料呢……
谁也没说你百度出来的结果就一定都是对的。
Warning: This function tries to create unique identifier, but it does not guarantee 100% uniqueness of return value.警告:此函数尽可能会创建唯一识别符,但它不保证返回值百分百唯一。
https://www.php.net/manual/en...
P.S. 任何只依赖伪随机数发生器的算法,都无法做到“真·唯一”,只能尽可能降低碰撞概率。
回答:
要想尽可能保证唯一性的话,那当然是使用雪花算法
了。
以上是 关于php的uniqid生成唯一ID的疑问 的全部内容, 来源链接: utcz.com/a/158129.html