原因
在Android上直接使用与Java服务端相同的的RSA加密工具类,由于两平台上的差异,导致Android加密后的密文,在服务端无法解密,因而出错。
解决
去Android的工具类里将
Cipher.getInstance("RSA")
更改为Cipher.getInstance("RSA/None/PKCS1Padding")
参考
javax.crypto.BadPaddingException : Decryption error
android RSA和Java RSA加密不一致的坑