基准测试的目的,我想有一个SecureRandom产生确定性输出。这可能是通过使用种子(或者可能是算法的规范)吗?从SecureRandom获取确定性的值?
import java.security.SecureRandom;
class TestSecureRandom {
public static void main(String [] args) {
SecureRandom rnd = new SecureRandom();
rnd.setSeed(1);
System.out.println(rnd.nextInt());
}
}
对我来说,即使指定了种子,上面的程序也会产生不同的值。
根据它的Javadoc(https://docs.oracle.com/javase/7 /docs/api/java/security/SecureRandom.html)它是非确定性的。 'setSeed'只改变它的内部状态,但它仍然是非确定性的。 – 2014-12-07 09:34:36
它是否必须是'SecureRandom'?它可以是一些其他类型的“随机”(例如,“随机”本身)? – 2014-12-07 09:40:08
编号为“接口”。在代码中使用“随机”。 – 2014-12-07 09:49:18