我尝试在javadocs和在线寻找这个,但找不到明确的答案。丹·戴尔的回答
How to solve performance problem with Java SecureRandom?
似乎建议SHA1PRNG不使用任何系统资源进行熵。这是对的吗?
答案 0 :(得分:3)
不,在默认的Oracle实现中,它使用系统资源,除非您在调用nextBytes()
之前将其播种。来自SecureRandom
的Sun / Oracle文档:
SecureRandom实现尝试完全随机化生成器本身的内部状态,除非调用者通过调用setSeed方法跟随对getInstance方法的调用:
SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); random.setSeed(seed);