据我了解,Java 有两个主要类能够执行伪随机 Activity : Random
类和 SecureRandom
类(class)。两者都会生成伪随机数。然而,SecureRandom
类生成加密安全数字。
为什么还要使用 Random
类时您可以使用 SecureRandom
类,哪个会产生更多不可预测的数字?许多程序员(尤其是视频游戏程序员)仅使用 Random
类,但是这两个类具有几乎相同的核心方法(都可以生成伪随机整数)。这两个类也可以使用长值作为种子。
我唯一的解释是Random
类的运行速度比 SecureRandom
更快类(class)。这是真的?如果不是,那么为什么许多 Java 程序员更喜欢 Random
类比SecureRandom
类?
最佳答案
可能的原因有很多
- Random 较旧,因此有更多示例。
- 随机对于许多情况来说足够随机,而且速度更快。
- Random 在所有平台上产生相同的结果,并且对于种子始终产生相同的结果(如果您没有同时指定策略,默认的 SecureRandom 可能会有所不同)
关于java - 当可以使用 SecureRandom 类时,为什么还要使用 Java 的 Random 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42181994/