gpt4 book ai didi

java - 从 SecureRandom 获取确定性值?

转载 作者:搜寻专家 更新时间:2023-10-31 08:19:38 24 4
gpt4 key购买 nike

出于基准测试目的,我想让 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());
}
}

对我来说,即使指定了种子,上述程序也会产生不同的值。

最佳答案

执行此操作的最简单方法可能是使大部分代码仅依赖于 Random,并注入(inject)一个实例(例如,将其传递给构造函数)。这样,出于测试目的,您可以传入一个带有固定种子的简单Random - 但对于需要安全性的真实运行,您可以传入一个实例>SecureRandom.

关于java - 从 SecureRandom 获取确定性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27341294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com