gpt4 book ai didi

java - 使用java的securerandom获得确定性值

转载 作者:行者123 更新时间:2023-11-30 03:47:49 34 4
gpt4 key购买 nike

我试图根据种子值每次获得相同的盐值。这是我的代码

SecureRandom sr = new SecureRandom(seed.getBytes());
byte[] salt = new byte[32];
sr.nextBytes(salt);

但是,每次运行时我都会得到不同的值。我做错了什么吗?缺少什么吗?

更新:

好吧,我已经尝试使用随机而不是 secureRandom 并使用长种子获取字节,但每次仍然得到不同的值。但是,当我更改它以尝试获取 nextInt 时,我能够获得相同的值。

Random rand = new Random(Long.parseLong(seed, 36));   
byte[] salt = new byte[32];
rand.nextBytes(salt);

是否可以解决正确获取相同字节的问题?

最佳答案

这是故意的。 SecureRandom 尝试使用熵来获得真正的随机性,顺便说一句,这可能会很昂贵。无论您从什么盐开始,它总是会返回不同的值。

如果您想要确定性值,请使用随机。

关于java - 使用java的securerandom获得确定性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25182805/

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