在项目中,我们需要在前端传入参数到服务器后端去,传入的参数带有特殊符号的话会被系统默认转义,导致我们获取不到正确的数据。例如:‘+’,‘&’等符号会被自动转义。这时候我们就需要在前端将数据进行加密,后端获取到数据后,再进行解密,即可获得正确的数据。
- 1、我们在前端页面中将需要传输的数据通过以下方法加密:
var str = encodeURI(encodeURI(param).replace(/\+/g,'%2B'));
param 是我们向后端传输的数据(明文),加密后得到 str (密文)。
- 2、我们在后台接收到参数后,这时候该数据是被加密的,我们需要对其进行解密:
String str = URLDecoder.decode(param,"UTF-8"));
param 是我们获取到的数据(密文),str 是我们后端解密后得到的数据(明文),这时候我们就可以正常使用它了。
这个方法还可以用来我们向后端传输保密数据时使用,例如:登录时的密码数据,使数据得到安全保护。