为什么在使用SecureRandom类时可以使用Random Class of Java?

时间:2017-02-11 22:31:39

标签: java random cryptography

据我了解,有两个主要的Java类能够执行伪随机活动:Random类和SecureRandom类。两者都生成伪随机数。但是,SecureRandom类会生成加密安全数字。

为什么在使用Random类时会使用SecureRandom类,这会产生更多不可预测的数字?许多程序员(特别是视频游戏程序员)仅使用Random类,但两个类都具有几乎相同的核心方法(两者都可以生成伪随机整数)。这两个类也可以用很长的值来播种。

我唯一的解释是Random类的运行速度比SecureRandom类快。这是真的?如果没有,那么为什么许多Java程序员更喜欢Random类而不是SecureRandom类?

1 个答案:

答案 0 :(得分:1)

有很多可能的原因

  • 随机年龄较大,因此有更多例子。
  • 对于很多情况,随机足够随机且速度更快。
  • Random在所有平台上产生相同的结果,并且种子的结果总是相同(如果您不指定策略,默认的SecureRandom可能会有所不同)