RSA密文传输到后台+变空格

今天遇到的前端传过来的RSA加密后的密文密码,但是到到后段的时候拿到的值是
qG5LkMCE4lb6Xf1rKa/Y/BXnKvaaiwuT84/lDeQJ2rps9eeiFUnddgqh7IFl5Qckd8tA8O0QgqZWGfGwkKS2gKkwU3M0z5t2itYDP5EhEtycgvv3jYbo6Nt/ZAOfkBg8UVhaYqb66o4GrRm5t7Kfdl4RbCUA3fDI2gf1bZxB1jQ=(正常值)

cqPERaw1q3pyLf1/VHcCbnZzxUuamedz5qlXFbys1MVDJc UoxkiliRhqt9sKD8IRXdrzUbfi4oBLekQaBS7awTBmnbfD/7A/ceD9d OOE4Tp3VoWC3HcByTX8 oCHoOhE8LoDyjJ85BUyx8TZhIcmLARa2nEJke5ojIUJh401w=(前端传过来的密文多了空格)

cqPERaw1q3pyLf1/VHcCbnZzxUuamedz5qlXFbys1MVDJc UoxkiliRhqt9sKD8IRXdrzUbfi4oBLekQaBS7awTBmnbfD/7A/ceD9d OOE4Tp3VoWC3HcByTX8 oCHoOhE8LoDyjJ85BUyx8TZhIcmLARa2nEJke5ojIUJh401w=(URLdecode.decode(密文)得到的值)

cqPERaw1q3pyLf1%2FVHcCbnZzxUuamedz5qlXFbys1MVDJc+UoxkiliRhqt9sKD8IRXdrzUbfi4oBLekQaBS7awTBmnbfD%2F7A%2FceD9d+OOE4Tp3VoWC3HcByTX8+oCHoOhE8LoDyjJ85BUyx8TZhIcmLARa2nEJke5ojIUJh401w%3D(将接收到的密文进行了URLencode.encode(密文)这时特殊字符全部被换了)
解决方式
1 后端replace(“ ”,“+”);
2 前端用将前端的key参数进行编码encodeURIComponent(key)进行处理,然后传送
如果不是偶尔遇到改问题,或许永远都不知道这个东西


原因在于

URL传递字符串式,如果没有进行encodeURIComponent(key)的话,原始字符串在后台接收到后需要进行URLdecode.decode处理这时候会把特殊字符进行处理了,+就没了。因为+被当做字符串连接符了。前端处理一下就好了。

猜你喜欢

转载自blog.csdn.net/liuhua121/article/details/79292557