SecureRandom的SHA1PRNG算法是否使用/ dev / random进行熵?

时间:2012-12-17 22:23:40

标签: java linux cryptography

我尝试在javadocs和在线寻找这个,但找不到明确的答案。丹·戴尔的回答

How to solve performance problem with Java SecureRandom?

似乎建议SHA1PRNG不使用任何系统资源进行熵。这是对的吗?

1 个答案:

答案 0 :(得分:3)

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

  

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

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