SecureRandom的SHA1PRNGalgorithm是否使用/ dev / random作为熵?

我试图在javadocs和在线寻找这个,但无法find一个明确的答案。 丹·戴尔的答案

如何解决Java SecureRandom的性能问题?

似乎build议SHA1PRNG不使用任何系统资源的熵。 它是否正确?

不,在默认的Oracle实现中,它使用系统资源,除非在调用nextBytes()之前将其nextBytes() 。 从SecureRandom的Sun / Oracle文档:

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

  SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); random.setSeed(seed);