背景:
本地idea正常,测试服务器报错,开启idea远程调式,私钥解密后结果如下:
�F:�>~��C�x�,\�!���
�B�I�� �
�P���x��\�P��(��admin@123
很明显,结果字符串前面多了一堆乱码
原因排查:
私钥解密用的默认填充方式
Cipher cipher = Cipher.getInstance("RSA");
问题解决:
指定填充方式:cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");
最好pom里引入
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.69</version>
</dependency>