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解密的整个过程.