java - 这个数字是素数且安全吗?

标签 java primes

我需要创建一个 2048 位素数。

我用过这个代码。

SecureRandom rnd = new SecureRandom();
int certainty = 100000000;
BigInteger p = new BigInteger(2048, certainty, rnd);

这个数字是素数且安全吗?

如果方式错误,我该怎么办?

如果您让我知道,我将非常感谢您!!

最佳答案

这个数字可能是质数。有多种方法可以检查它是否确实是素数,但这并不能做到这一点。另一方面,我建议将 BigInteger.probablePrime(int bitLength, Random rnd) 与 Javadoc 一起使用。摆脱确定性值。

至于它是否安全,这完全取决于您对安全的定义,但是 SecureRandom 类符合各种加密标准,因此您应该在这方面表现出色。

关于java - 这个数字是素数且安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050664/

相关文章:

java - 无法在应用程序级别设置对象(HashMap)

benchmarking - 使用素数的Perl6 vs Perl5基准测试

Java:计算质数

Java递归和 super 素数

python - 获取随机数列表中的第一个素数

java - 为什么 Java 允许在源代码中使用转义的 unicode 字符?

java - jaxrs - 拦截器返回状态 500 时抛出错误

java - ClipboardManager 使用 WorkManager 抛出以下错误 : Can't create handler inside thread that has not called Looper. 准备()

java - 为什么 Hibernate ManyToOne 没有正确持久化?

java - 在java中找到一个质数