目前我就想用php写一个guid生成的CDKey,并且只生成20位,要确保它唯一。
有没有大神帮个忙回答下~
guid php 截取20位 是否还是唯一?如果不是该怎么确保它唯一?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- threenewbee 2018-09-26 03:52关注
理论上,任何定长度的编码,都不能做到唯一。因为它的总编码是有限的。只是这个值非常非常大。
在工程上,我们可以将重复概率极小,可以忽略不计的编码视作是唯一的。guid就是这个,要让这个概率低,那么取决于两点,一个是充分的随机化,一个是编码长度要长。结论就是,guid截取20位提高了重复的概率,但是在一定程度上仍然可以视作是唯一的。比如说你的软件卖100万份,这个很多了吧。有100万个key
100万也就是10的6次方。16的5次方。
20位guid的总编码数是 16的20次方。
重复的概率可以算出来,等于16的15次方,也就是100万的3次方。解决 无用评论 打赏 举报
悬赏问题
- ¥20 求一个html代码,有偿
- ¥100 关于使用MATLAB中copularnd函数的问题
- ¥20 在虚拟机的pycharm上
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
- ¥15 钢筋实图交点识别,机器视觉代码
- ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
- ¥50 400g qsfp 光模块iphy方案
- ¥15 两块ADC0804用proteus仿真时,出现异常