考虑 jsfiddle.net:
当您按下“保存”时,他们会为您的 jsfiddle 生成 uid,例如 vzBZB。
他们是怎么做到的?为什么只有 5 个字符?
首先 - 他们如何确保永远不会发生碰撞?(为两个不同的 jsfiddles 生成相同的 uid)
他们的 UID 有一天会用完吗?
答案1
他们是怎么做到的?为什么只有 5 个字符?
唯一可靠的方法是询问 jsFiddle,因此你问题的这一部分并不是真正具有建设性。
UID 不是按顺序生成的,这可能是为了防止有人浏览其他人的资料。
他们如何确保不会发生碰撞?
这部分很简单:您可以随机生成一个并检查它是否不存在。
如果没有,您就完成了。如果出现,请重复。
只要未使用的 UID 数量至少与已使用的 UID 数量一样多,那么大多数情况下您不必重复多次。
他们的 UID 有一天会用完吗?
使用 52 个字母的字母表(A-Z
和a-z
),您可以52 ^ 5 = 380,204,032
使用不同的 UID。
这已经是很多小提琴了,但如果他们用完了,他们可以添加第六个字母。