qq_39816804 2018-09-26 03:41 采纳率: 0%
浏览 737

guid php 截取20位 是否还是唯一?如果不是该怎么确保它唯一?

目前我就想用php写一个guid生成的CDKey,并且只生成20位,要确保它唯一。
有没有大神帮个忙回答下~

  • 写回答

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仿真时,出现异常