鍍金池/ 問(wèn)答/Java/ rsa解密本地主方法跑和服務(wù)器跑結(jié)果不一樣

rsa解密本地主方法跑和服務(wù)器跑結(jié)果不一樣

本地main方法調(diào)用和服務(wù)器調(diào)用RSA解密方法結(jié)果不一樣
main方法結(jié)果正確
服務(wù)器運(yùn)行,結(jié)果前多了一串亂碼

public static String decryptByPrivateKey(String key) throws Exception {
    convent();//讀取私鑰用的
    byte[] keyBytes = Base64Util.decode(PRIVATE_KEY);
    PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);
    KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
    Key privateKey = keyFactory.generatePrivate(pkcs8KeySpec);
    Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
    cipher.init(Cipher.DECRYPT_MODE, privateKey);
    return new String(cipher.doFinal(Base64Util.decode(key)), "UTF-8");
}
public static String encryptByPublicKey(String key) throws Exception {
    byte[] keyBytes = Base64Util.decode(PUBLIC_KEY);
    X509EncodedKeySpec pkcs8KeySpec = new X509EncodedKeySpec(keyBytes);
    KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
    Key publicKey = keyFactory.generatePublic(pkcs8KeySpec);
    Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
    cipher.init(Cipher.ENCRYPT_MODE, publicKey);
    return Base64Util.encode(cipher.doFinal(key.getBytes()));
}

main方法運(yùn)行結(jié)果:
clipboard.png

服務(wù)器結(jié)果:
clipboard.png
文字版:亂碼符號(hào) + 正確結(jié)果

請(qǐng)問(wèn)這是怎么回事,原因是什么?
我嘗試了一下CSDN上的方法,但是好像沒(méi)用.
http://bbs.csdn.net/topics/39...

回答
編輯回答
孤星

1樓正解啊,

2018年1月20日 16:27
編輯回答
淚染裳

樓主問(wèn)題解決了嗎 我遇到同樣的問(wèn)題

2018年2月1日 14:12
編輯回答
初念

解密這段,換成跟加密一樣的算法:

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
2018年6月18日 12:30