1

我尝试在 javadocs 和在线中查找此内容,但找不到明确的答案。Dan Dyer 的回答

如何使用 Java SecureRandom 解决性能问题?

似乎暗示 SHA1PRNG 不使用任何系统资源来获取熵。它是否正确?

4

1 回答 1

3

不,在默认的 Oracle 实现中,它使用系统资源,除非您在调用nextBytes(). 来自 Sun/Oracle 文档SecureRandom

SecureRandom 实现尝试完全随机化生成器本身的内部状态,除非调用者在调用 getInstance 方法之后调用 setSeed 方法:

 SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
 random.setSeed(seed);
于 2012-12-18T22:41:32.370 回答