我需要创建一个2048位素数。
我已使用此代码。
SecureRandom rnd = new SecureRandom();
int certainty = 100000000;
BigInteger p = new BigInteger(2048, certainty, rnd);
这个数字是黄金&安全吗?
如果方法错误,我该怎么办?
如果你让我知道,我非常感谢你!
答案 0 :(得分:1)
此号码可能是素数。有办法检查它是否确实是素数,但这并不是这样。另外,我建议使用BigInteger.probablePrime(int bitLength, Random rnd)
和Javadoc来消除确定性值。
关于它是否安全,完全取决于您对安全的定义,但SecureRandom类符合各种加密标准,因此您应该在这方面做得很好。< / p>