我在代码中遇到了解密问题,从加密和解密中获得的值不匹配,解密的值始终为1的值。我已经附加了所有代码,并希望对为什么发生这种情况有所帮助它使我有些眼花。乱。
最佳答案
线
d = (BigInteger.valueOf(1).mod(phi).divide(e)); //check with nick
是不正确的,因为我确定尼克会确认。您需要计算e mod phi的modular inverse。在Java中,它可以作为
BigInteger.modInverse(..)
使用,因此正确的行应为d = e.modInverse(phi);
关于java - RSA加密和解密Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49880381/