android RSA实现遇到的一些问题

背景

使用rsa跟服务器传递对称密钥的时候,客户端的密文服务器解密不了,一直解密错误。经过搜索实践,终于解决。

原因

  • jdk的rsa加密方式是 RSA/ECB/PKCS1Padding 或 RSA/None/PKCS1Padding
  • android平台默认的加密方式是 RSA/ECB/NoPadding或RSA/None/NoPadding

代码如下:

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

base64的问题

android Base64加密使用Default模式,会导致特殊字符例如 \n \r等等。这时候需要使用URL_SAFE模式或NO_WRAP模式。

你可能感兴趣的:(android RSA实现遇到的一些问题)