以相同值作为种子的两个java.security.SecureRandom
实例最初会给出相同的随机数序列吗?
我问这个是因为我想要客户端和服务器中的随机数序列相同。如果他们都使用相同的种子值怎么办。序列是否相同,或者有什么方法可以使序列相同?
以相同值作为种子的两个java.security.SecureRandom
实例最初会给出相同的随机数序列吗?
我问这个是因为我想要客户端和服务器中的随机数序列相同。如果他们都使用相同的种子值怎么办。序列是否相同,或者有什么方法可以使序列相同?
从API 文档:
如果
Random
使用相同的种子创建两个实例,并且为每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
如果他们都使用相同的种子值怎么办。顺序会一样吗?
不,他们绝对不会。至少在 Oracle 的 Java 7 SDK 实现中没有。请参阅此 SO 帖子中的示例代码。除了提供的种子之外,实现似乎可以选择使用额外的随机源。