我在android中生成RSA公钥和私钥,然后将公钥发送到节点服务器。服务器加密一些数据,然后将结果发送给我的第一个请求。我尝试使用私钥解密加密的数据,但解密的数据与服务器数据不匹配。
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(2048);
publicKey = keyPair.getPublic();
privateKey = keyPair.getPrivate();
String key = Base64.encodeToString(publicKey.getEncoded(), Base64.DEFAULT).trim();
//decrypt data from server
byte[] keyBytes = Base64.decode(encryptedText, Base64.DEFAULT);
Cipher cipher = Cipher.getInstance(kpg.getAlgorithm());
cipher.init(Cipher.DECRYPT_MODE, privateKey);
decryptedBytes = cipher.doFinal(Base64.decode(encryptedText, Base64.NO_PADDING));
decrypted = new String(decryptedBytes);