在前端和后端数据传输时,常常涉及到隐私数据的传输(例如用户名和密码),这时,我们就需要对隐私数据进行加密解密。
前端加密
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <script src="js/jquery.min.js"></script> <script type="text/javascript"> $(function () { var data = "您好+"; while (data.indexOf("+") > -1) { data = data.replace("+", "%2B"); } data = btoa(encodeURI(data)); console.log("编码后" + data); $.post("/test/testPost", {"data":data},function (data) { }) }) </script>
|
后端解密
1 2 3 4 5 6 7 8 9 10 11 12 13
| @PostMapping("/testPost") @ResponseBody public int testPost(String data) throws UnsupportedEncodingException { System.out.println("解码前" + data); Base64 base64 = new Base64(); String decode = URLDecoder.decode(new String(base64.decode(data), "utf-8"), "utf-8"); System.out.println("解码后" + decode); String decodeVo = decode.replace("%2B","+"); System.out.println("完全解码" + decodeVo); return 1; }
|