背景
使用rsa跟服務(wù)器傳遞對(duì)稱密鑰的時(shí)候拇颅,客戶端的密文服務(wù)器解密不了娘摔,一直解密錯(cuò)誤菲语。經(jīng)過搜索實(shí)踐,終于解決的榛。
原因
- jdk的rsa加密方式是 RSA/ECB/PKCS1Padding 或 RSA/None/PKCS1Padding
- android平臺(tái)默認(rèn)的加密方式是 RSA/ECB/NoPadding或RSA/None/NoPadding
代碼如下:
Cipher cp = Cipher.getInstance("RSA/ECB/PKCS1Padding");
base64的問題
android Base64加密使用Default模式琼了,會(huì)導(dǎo)致特殊字符例如 \n \r等等。這時(shí)候需要使用URL_SAFE模式或NO_WRAP模式。