最近使用RSA加解密出现了一个奇葩的问题,用手机测试解密得到的明文前面会出现一堆乱码,后面的是正常数据。而用java的main方法测试没有任何问题。度娘一波发现问题出在这里:
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, key);
其实只要将“RSA”改成“RSA/ECB/PKCS1Padding”就可以了
Cipher cipher =Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);
OK,搞定