RSA加密的坑

1,解密亂碼問題

如果代碼是這樣的,如下:

Cipher cipher = Cipher.getInstance("RSA");

應該改成

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");

2,同樣的如果安卓和java,同樣的加密工具類,但是加密結果不一樣,也是用1方法解決

3,加載的字符串大於117時會報錯

需要分段加密 公鑰加密時,加密的最長字節時117個 私鑰解密出來長度都是128 注意:必須在每段加密完成後再用Base64加密,否則Base64解密時會出錯

4,看清楚加密的方式是那種

 Signature signature = Signature.getInstance("SHA1withRSA");

如果是SHA1with256,也要同步,不然加密結果也不一樣

總結:不同語言加密其實就出現這些小細節上,上面都是我遇到的坑,希望可以幫到大家

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章