项目中遇到将中文从前台传到后台过程中,出现乱码,一番尝试之后,均是乱码,然后尝试在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解密的整个过程.

最新文章

  1. jenkins 入门教程(下)
  2. 解决UINavigationController在pushViewController时出现的&quot;卡顿&quot;问题
  3. python常用的内置库
  4. Frog Jump
  5. Intent界面跳转与传递数据
  6. 【Java设计模式】java单例模式
  7. Hark的数据结构与算法练习之梳排序
  8. mysql 初始密码 设置
  9. 7款震撼人心的HTML5CSS3文字特效
  10. POJ 2763 Housewife Wind (树链剖分 有修改单边权)
  11. Linux中的syslog 入门学习教程
  12. android基础知识点复习之短信发送
  13. Amazon Publisher Studio让产品推广更简单
  14. windows下自动删除过期文件的脚本
  15. Flannel - 原理
  16. HDU6198
  17. Linux日志文件utmp、wtmp、lastlog、messages
  18. PHP如何清除COOKIE?PHP无法删除COOKIE?设置COOKIE有效期、COOKIE过期
  19. 查看linux服务器硬盘IO读写负载
  20. linux的基本指令--第三节

热门文章

  1. centos 7忘记了root密码,如何改密码?
  2. CodeMirror的使用方法
  3. 微信公众号支付java版本
  4. swoole学习(一)----linux安装swoole
  5. 【转载】CentOS7.0下安装Telnet
  6. python学习之路1(基本语法元素)
  7. POJ:2229-Sumsets(完全背包的优化)
  8. No module named appium
  9. linux中如何解决克隆后的电脑的问题
  10. 《数据结构》C++代码 散列表