This question already has answers here:
Difference between java.util.Random and java.security.SecureRandom
(7个答案)
3年前关闭。
据我了解,有两种主要的Java类可以执行伪随机活动:
当可以使用
我唯一的解释是
(7个答案)
3年前关闭。
据我了解,有两种主要的Java类可以执行伪随机活动:
Random
类和SecureRandom
类。两者都生成伪随机数。但是,SecureRandom
类生成密码安全的数字。当可以使用
Random
类时,为什么还要使用SecureRandom
类,它会生成更多不可预测的数字?许多程序员(尤其是视频游戏程序员)仅使用Random
类,但是两个类都具有几乎相同的核心方法(都可以生成伪随机整数)。这两个类都可以使用长值作为种子。我唯一的解释是
Random
类的运行速度比SecureRandom
类快。这是真的?如果不是,那么为什么许多Java程序员更喜欢Random
类而不是SecureRandom
类? 最佳答案
有许多可能的原因
随机年龄较大,因此有更多示例。
随机在许多情况下足够随机,而且速度要快得多。
在所有平台上,Random都会产生相同的结果,并且种子的结果总是相同的(如果您也未指定策略,则默认的SecureRandom可能会有所不同)
关于java - 当可以使用SecureRandom类时,为什么要使用Java的随机类? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42181994/
10-10 15:02