生成独特的GID

时间:2014-10-08 20:09:26

标签: php math

我正在研究制作独特GID的方法,并希望对以下代码有任何意见。我们的想法是,它应该在1秒的时间范围内生成一个特定IP的唯一ID(有助于防止多次发布),并尽可能地缩短。

以下是PHP中的代码:

$gid = base_convert(dechex(str_replace(".", "", $_SERVER['REMOTE_ADDR'])) . dechex(time()), 10, 36);

这会产生以下ID:

qdkgzfvim
4ge6gesv
cztme7e4t
45qqcvq

是否会产生唯一身份证的任何意见?可能会发生碰撞吗?我应该用0填充数字吗?

1 个答案:

答案 0 :(得分:1)

运行测试:

$part2 = dechex(time());

echo '<br/>' . $part2;

echo '<br/>' . base_convert($part2, 10, 36);

echo '<br/>' . base_convert(base_convert($part2, 10, 36), 36, 10);

产生类似的东西:

5435a0e0
bnd8
543500

失去了数据。所以它不可逆,所以它可能失去所谓的独特性。