jquery對中文進行base64加密,後臺用java進行base64解密
專案中遇到將中文從前臺傳到後臺過程中,出現亂碼,一番嘗試之後,均是亂碼,然後嘗試在js程式碼中先進行base64加密,然後在java中再進行解密,完美的解決了亂碼問題,步驟如下
一,html頁面引入jquery.base64.js 下載地址如下:點選開啟連結
二,js程式碼中新增如下程式碼
//比如從頁面獲得使用者名稱如下(中英文均可) var userName = $("#userName").val(); //然後進行base64加密 var userNameBase64=encodeBase64(userName); //最後將加密後的userNameBase64傳到後臺即可 //加密方法。沒有過濾首尾空格,即沒有trim. //加密可以加密N次,對應解密N次就可以獲取明文 function encodeBase64(mingwen,times){ var code=""; var num=1; if(typeof times=='undefined'||times==null||times==""){ num=1; }else{ var vt=times+""; num=parseInt(vt); } if(typeof mingwen=='undefined'||mingwen==null||mingwen==""){ }else{ $.base64.utf8encode = true; code=mingwen; for(var i=0;i<num;i++){ code=$.base64.btoa(code); } } return code; };
三,java控制層進行解密
首先引入base64的類:import org.apache.commons.codec.binary.Base64; 程式碼如下
//進行解碼,userNameBase64是你獲得的加密後的使用者名稱,下面進行解密
String userNameBase64="";
byte[] userNameByte = Base64.decodeBase64(userNameBase64.getBytes("UTF-8"));
String userName = new String(userNameByte));//獲得解密後的使用者名稱
到此就完成整個前臺進行base64加密,後臺進行base64解密的整個過程.