有哪些能够生成随机不重复字符串的算法或者函数?

2016 年 5 月 18 日
 Specs

有哪些能够生成随机不重复字符串的算法或者函数?最好是 PHP 中的~~

11761 次点击
所在节点    PHP
73 条回复
a591826944
2016 年 5 月 19 日
@lslqtz 分布式同一时间 同一函数,生成的随机数字 /字符 是相同的 所以 后面 拼多少都没有用
zhicheng
2016 年 5 月 19 日
说 MD5 慢的,你咋不上天, 10 亿也是秒级的。
icylord
2016 年 5 月 19 日
UUID
jfcherng
2016 年 5 月 19 日
有限長度與不重複不是明顯互斥嗎
miaotaizi
2016 年 5 月 20 日
@Sunyanzi 开眼了, 看了你好多的评论, 你收徒弟么, 请收下我的膝盖, 我不想做那个四年都在做同一件事情的码农.
Specs
2016 年 5 月 20 日
@AbrahamGreyson OK

@Sunyanzi 还可以这样~

@jfcherng 在不重复的情况下尽量看起来随机吧~
juice
2016 年 5 月 20 日
可以参考 twitter 的 Snowflake 算法
necomancer
2016 年 5 月 20 日
UUID 吧, 重复概率极小
Sunyanzi
2016 年 5 月 20 日
@miaotaizi 收呀 ... 我一直有琢磨着拉个群讲讲课什么的 ... 但一直没时间来做 ... 过阵子看看吧 ..?

@juice @AbrahamGreyson Snowflake 算法从本身的设计上并没有避免多线程并发时重复生成的问题 ...

@Specs 如果最终你会把内容存在数据库的话 ... 那么给相关字段上唯一索引然后生成随机字符串往里插就是 ...

只要字符串长度足够就可以完全不用管是否会重复 ... 如果插不进去就重新随机一次再插 ... 直到成功为止 ...
miaotaizi
2016 年 5 月 23 日
@Sunyanzi 真的可以吗? 期待你开课. (别逗我, 我是认真的)
mingyun
2016 年 7 月 24 日
@barbery 这个得 php7
Sunyanzi
2017 年 2 月 9 日
@miaotaizi 那个啥 ... 我决定尝试性的瞎讲一下啦 ... 具体参考 /t/339287 ...
miaotaizi
2017 年 2 月 10 日
@Sunyanzi 真感激,这么久了还记得我。一定来!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/279578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX