0

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

我用过这段代码。

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

这个号码是素数和安全的?

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

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

4

1 回答 1

1

这个数字可能是素数。有一些方法可以检查它是否确实是素数,但这并没有。另一方面,我建议使用BigInteger.probablePrime(int bitLength, Random rnd)Javadoc摆脱确定性值。

至于它是否安全,这完全取决于你对安全的定义,但是 SecureRandom 类符合各种加密标准,所以你应该在这方面做得很好。

于 2013-04-17T03:02:43.993 回答