2016-09-24 48 views
2

我在我的項目中使用ramsey/uuid。 我與uuid4,生成隨機的UUID創建新的數據實體:ramsey/uuid第4版使用「真」還是僞隨機數?

Uuid::uuid4(); 

但我使用這種方法,而批量導入成千上萬的數據了。現在我擔心我的系統的熵池:uuid4是否使用「真實」隨機數,這會在某個時候耗盡我的熵池?或者它會使用僞隨機數字,我不必擔心?

非常感謝!

回答

1

默認情況下,它會從PHP 7中的random_bytes()函數生成UUID,或者從PHP 5中的paragonie/random_compat庫生成UUID。因此它的UUID與這些函數的響應一樣隨機。請參閱RandomBytesGenerator class

這取決於你在用UUID做什麼,以確定這種隨機性是否足夠好。

+0

謝謝!由於'random_bytes()'在內部使用['/dev/urandom'](https://secure.php.net/manual/en/function.random-bytes.php)它永遠不會用完系統熵 - 這正是我需要的答案! –