在项目中不分离项目通过登录功能js加密RSA的账号密码有特殊字符比如“asjdoajd+shshf+sdjsjd/sdas”的密文,带有+号的特殊字符解决方案就是
在后端手动过滤,
String decryIdCardNo = RSAUtil.decrypt(pwd.replace( " " , “+” ),rsaPrivateKey);
通过接收的密文数据把不能识别的+号接收为空字符转成+号,再通过RSA解密
就能解决解密失败的问题。
造成的原因:因为后端通过token携带接收密码是char数组类型的,密文数据接收不完整,特殊字符不能识别,接收为空字符。
解决方法:通过判定有空字符,转为+ 过滤一次密文数据 ,在通过RSA解密就行了。
实战有效!