由于uniqid()
根据给定的值提供了一个随机字符串,它甚至可能吗?如果是这样,uniqid('foo')
相等的机会是uniqid('foo2')
多少?
问问题
215 次
1 回答
2
uniqid()
不提供基于字符串的随机值。
根据文档:
根据当前时间(以微秒为单位)获取带前缀的唯一标识符。
foo
并且foo2
仅用于作为值的前缀。例如,这段代码:
echo uniqid('foo') . "\n";
echo uniqid('foo2');
会输出:
foo510aac3bedcdb
foo2510aac3bedd03
只要前缀不同,值就不会冲突。但是,如果使用相同的前缀,如果 2 个请求在同一微秒内发出,则可能会发生冲突。如果您担心碰撞,请将第二个参数设置为true
为您的值添加更多熵。
于 2013-01-31T17:43:16.530 回答