Различное поведение от метода расшифровки в Java - PullRequest
0 голосов
/ 12 июня 2018

Я использую расшифровку RSA с открытым и закрытым ключами из сертификации.

var encrypt = new JSEncrypt();
var publicKey = "example";
encrypt.setPublicKey(publicKey);
var data = encrypt.encrypt(value);
console.log(data);
return data;
public static String getDecrypted(String data, String Key)
        throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchPaddingException, InvalidKeyException,
        IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException {
    Cipher cipher = Cipher.getInstance("RSA");
    PrivateKey pk = KeyFactory.getInstance("RSA")
            .generatePrivate(new PKCS8EncodedKeySpec(Base64.decodeBase64(Key.getBytes())));
    cipher.init(Cipher.DECRYPT_MODE, pk);
    // byte[] encryptedbytes =
    // cipher.doFinal(Base64.encodeBase64(data.getBytes()));
    return new String(cipher.doFinal(Base64.decodeBase64(data)));
}

Я использую интерфейсное шифрование и шифрование в основном методе.Зашифрованные значения с двух сторон становятся правильными.но когда я вызываю его из Интернета, я получаю другие значения, такие как

EAQ�žÃqÈ›@Á¢éz¡?�4zsHD-U€� 
 KÉ¢a`Õ³=jö`›=šúFhU;••˜ü®2¿¶žñÛ¤lÉê×)§?]¾–`n_üÙ&1ï)ðeÈž‹x¯ø¬#;ýp&   Ê*í~ý¾´çVõF¯±ë©yṉ̃©w_f'úH⬒#™G™|¦ý¹j"Ìç8=ŽRÉž[££4™s#àâ

и значение в конце

...