我读了UUID v4,它几乎是唯一的,这就是我所需要的。问题是,这个数字太大了,是否可以使用较少的字符来生成UUID,如Facebook或Twitter?更短的UUID,ASCII码和PHP PHP
我看了一些贴子,在这里你可以用Ascii85将这段代码缩小到20,但是没有看到一个可靠的PHP脚本来完成这项工作。有人知道一个测试类?对于随机ID而言,它是存储这20个字符的最佳方式,对吗?
---编辑---
@大卫·施瓦茨
感谢。我需要一个随机的唯一标识符在一个单一的服务器,8至16个字符(如果它是最低的20,就可以了)。这个想法是识别具有可读ID但不是增量的物品(第一个物品10001,第二个10002),542A4B243J,C63426KJ70,O30V4U1I9P等等。这些ID必须是(至少)6个MySQL表的主键。 Objets是使用PHP在同一台服务器上创建的。
@ ta.speot.is
我写的“没有看到一个可靠的PHP脚本做的工作。有人知道一个测试类?”我不认为在谷歌出现的所有代码都经过测试,你有没有测试过所有的链接?
@sarnold
谢谢,但我很抱歉,没深知=(
您需要详细解释您的要求以获得有用的答案。例如,您是否需要能够从大量完全不协调的位置生成身份证件,并让它们保持独特?或者,您可以为每个ID分配器分配一个前缀,以便将问题简化为本地唯一ID?他们可以保存状态,并拿起他们离开的地方吗?或者它必须是纯粹随机的?它可以基于时间吗?等等。 – 2012-04-25 23:06:18
http://www.google.com.au/search?rlz=1C1_____enAU376AU376&sourceid=chrome&ie=UTF-8&q=php+ascii85 – 2012-04-25 23:06:24
不要忘了将你的UUID从36字节的“平常风格”转换为一个整数范围为'0' - '2^128 - 1' - 您不一定需要使用128位整数,但您至少必须以适当的四字节块处理输入,就好像它是128位长。 – sarnold 2012-04-25 23:17:00