jquery base64 加密解密 request 文本字段传输
2015-09-12 14:47
801 查看
最近项目中涉及文本类型的字段通过json 传递,文本字段里面可能包含了很多特殊字符,这样在传输的过程中必须要加密。方案详细如下:
方案1: 服务端通过 Java提供的 base64位加密 ,view 端通过jquery.base64.js 解密
Java 加密 代码如下:
view 解析代码如下:
页面解析建议用 div,然后 display:none .因为 input hidden 字段长度有限
方案2:view 端通过CryptoJS 解密 需要引入:core-min.js , base64.js 稍后会上传js。
view 解析代码如下:
js 详细见 :http://download.csdn.net/detail/tangpengtao/9100879。
方案1: 服务端通过 Java提供的 base64位加密 ,view 端通过jquery.base64.js 解密
Java 加密 代码如下:
public static String encodeBase64Str(String plainText){ String encodeBase64Str=null; if (org.apache.commons.lang.StringUtils.isNotEmpty(plainText)){ byte[] btyeArrayStr=plainText.getBytes(); Base64 base64=new Base64(); btyeArrayStr=base64.encode(btyeArrayStr); try { encodeBase64Str =new String(btyeArrayStr,"UTF-8"); } catch (Exception e) { log.error("ERROR IN HotBuyServiceImpl ===> encodeBase64Str method ",e); } } return encodeBase64Str; }
view 解析代码如下:
页面解析建议用 div,然后 display:none .因为 input hidden 字段长度有限
var msgDesc=$("#divId").html().replace(/(\s*)/g, ""); 注意替换一下特殊字符 $.base64.decode(msgDesc, 'utf8') 一定要注意引用 utf8务端加密方式一致。
方案2:view 端通过CryptoJS 解密 需要引入:core-min.js , base64.js 稍后会上传js。
view 解析代码如下:
var msgDesc=$("#divId").html().replace(/(\s*)/g, ""); 注意替换一下特殊字符 var msgDescVar = CryptoJS.enc.Base64.parse(msgDesc); msgDescVar .toString(CryptoJS.enc.Utf8); function base64_encode() { var str = CryptoJS.enc.Utf8.parse(jQuery("#content").val()); var base64 = CryptoJS.enc.Base64.stringify(str); $("#result").val(base64); } function base64_decode() { var words = CryptoJS.enc.Base64.parse(divValue); $("#DivId").val(words.toString(CryptoJS.enc.Utf8)); }
js 详细见 :http://download.csdn.net/detail/tangpengtao/9100879。
相关文章推荐
- jQuery的deferred对象详解
- jquery实现最简单的滑动菜单效果代码
- jQuery实现自动切换播放的经典滑动门效果
- JQuery中的bind、delegate、on、live方法的区别及简单介绍
- jquery ajax提交表单数据的两种方式
- 【jQuery】jQuery筛选器规则
- JavaScript学习笔记8-jQuery层次选择器深度解析
- jquery发送手机 验证码倒计时插件 支持页面刷新
- jquery字体更改后的鼠标-影像学改变//凝视内容
- jquery(3)
- JavaScript学习笔记8-jQuery基本选择器深度解析
- 【jQuery】普通正则表达式校验和validationEngine校验
- jquery(2)
- jquery(1)
- JQuery弹出层,点击按钮后弹出遮罩层,有关闭按钮
- 如何解决谷歌浏览器下jquery无法获取图片的尺寸
- jQuery超精致图片轮播幻灯片特效代码分享
- 怎么用jquery区分苹果浏览器和安卓浏览器
- HTML5,Javascript,and jQuery 24-Hour Trainer(1)——简单的模板
- jQuery.fancybox 学习笔记