Ramsey/UUID版本4使用真随机数还是伪随机数?

3

我在我的项目中使用ramsey/uuid库。 我正在使用uuid4创建新的数据实体,该方法生成随机UUID:

Uuid::uuid4();

但是,当我批量导入成千上万的数据时,我正在使用这种方法。现在我担心我的系统的熵池: uuid4 是否使用“真正”的随机数,会在某个时候耗尽我的熵池?还是它会使用伪随机数,我不需要担心?

非常感谢!

1个回答

2
默认情况下,它使用PHP 7中的random_bytes()函数或PHP 5中paragonie/random_compat库的polyfill生成UUID。所以它的UUID与这些函数的响应一样随机。请参见RandomBytesGenerator类
根据您对UUID的具体用途来看,这种随机性是否足够好。

1
谢谢!由于random_bytes()内部使用/dev/urandom,因此它永远不会耗尽系统熵 - 这正是我需要的答案! - Michael Hirschler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接