gpt4 book ai didi

java - Linux/Java - 更改 SecureRandom 的种子源

转载 作者:行者123 更新时间:2023-11-30 07:53:12 25 4
gpt4 key购买 nike

我有以下 SecureRandom 实现:

public static int getSecureRandomInt(int min, int max) {

int random = -1;

try {

SecureRandom secureRandom = SecureRandom.getInstance("NativePRNG");

byte[] bytes = new byte[512];
secureRandom.nextBytes(bytes);

random = secureRandom.nextInt(max);

while(random < min) {

bytes = new byte[512];
secureRandom.nextBytes(bytes);

random = secureRandom.nextInt(max);

}

} catch (NoSuchAlgorithmException noSuchAlgo) {

System.out.println(" No Such Algorithm exists " + noSuchAlgo);

}

return random;

}

我现在希望种子的目的地是/dev/ttyACM1 (我的硬件 RNG),而不是/dev/random 或/dev/urandom/。我已经尝试编辑 java.security 文件并通过

设置它

securerandom.source=file:/dev/ttyACM1

但这在某种程度上没有效果。我更愿意从/dev/random 和/dev/urandom 永久链接到/dev/ttyACM1 ,以便每个使用这两个位置获取熵的应用程序自动使用我的硬件 RNG。我的操作系统是 Ubuntu 15.04。

感谢您的支持:)

最佳答案

您可以使用 SecureRandomsetSeed 方法用任意数据(包括来自 的数据)补充 SecureRandom 使用的“随机性” >/dev/urandom 或其他一些不确定的来源。

关于java - Linux/Java - 更改 SecureRandom 的种子源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33053829/

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