我试图在javadocs和在线寻找这个,但无法find一个明确的答案。 丹·戴尔的答案
如何解决Java SecureRandom的性能问题?
似乎build议SHA1PRNG不使用任何系统资源的熵。 它是否正确?
不,在默认的Oracle实现中,它使用系统资源,除非在调用nextBytes()
之前将其nextBytes()
。 从SecureRandom
的Sun / Oracle文档:
SecureRandom实现尝试完全随机化发生器本身的内部状态,除非调用者使用setSeed方法调用getInstance方法:
SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); random.setSeed(seed);