JS使用插件cryptojs进行加密解密数据实例


Posted in Javascript onMay 11, 2017

本文实例讲述了JS使用插件cryptojs进行加密解密数据。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Testing websockets</title>
<script type="text/javascript" src="jquery-1.10.1.js"></script>
<script src="tripledes.js"></script>
<script src="mode-ecb-min.js"></script>
<script type="text/javascript">
var key = 'BOTWAVEE';
//CBC模式加密
function encryptByDESModeCBC(message) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
    var ivHex = CryptoJS.enc.Utf8.parse(key);
    encrypted = CryptoJS.DES.encrypt(message, keyHex, {
    iv:ivHex,
    mode: CryptoJS.mode.CBC,
    padding:CryptoJS.pad.Pkcs7
    }
    );
return encrypted.ciphertext.toString();
}
//CBC模式解密
function decryptByDESModeCBC(ciphertext2) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
    var ivHex = CryptoJS.enc.Utf8.parse(key);
// direct decrypt ciphertext
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Hex.parse(ciphertext2)
}, keyHex, {
iv:ivHex,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
//DES ECB模式加密
function encryptByDESModeEBC(message){
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString();
}
//DES ECB模式解密
function decryptByDESModeEBC(ciphertext){
var keyHex = CryptoJS.enc.Utf8.parse(key);
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Hex.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
var result_value = decrypted.toString(CryptoJS.enc.Utf8);
return result_value;
}
function test(){
var source = $("#source").val();
var cc = encryptByDESModeEBC(CryptoJS.enc.Utf8.parse(source));
$("#target").val(cc);
}
function test1(){
var source = $("#sourceS").val();
var dd = decryptByDESModeEBC(source);
$("#jiemi").val(dd);
}
</script>
</head>
<body>
 <div>
加密前:<textarea id="source" value="" style="width:500px;height:90px;" /></textarea>
<hr>
加密后:<textarea id="target" value="" style="width:500px;height:90px;" ></textarea>
<hr>
<input type="button" onclick="test();" name="" value="加密" />
<hr>
密文:<textarea id="sourceS" value="" width="400px" style="width:500px;height:90px;" ></textarea>
<hr>
解密后:<textarea id="jiemi" value="" style="width:500px;height:90px;" ></textarea>
<hr>
<input type="button" onclick="test1();" name="" value="解密"/>
 </div>
</body>
</html>

Javascript 相关文章推荐
JS array 数组详解
Mar 22 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
Apr 09 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
Sep 11 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
JS HTML5拖拽上传图片预览
Jul 18 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
JavaScript函数参数的传递方式详解
Mar 06 Javascript
Vue项目中最新用到的一些实用小技巧
Nov 06 Javascript
微信小程序动态设置图片大小的方法
Nov 21 Javascript
vue使用swiper实现左右滑动切换图片
Oct 16 Javascript
利用 JavaScript 构建命令行应用
Nov 17 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
May 11 #Javascript
JS实现的四级密码强度检测功能示例
May 11 #Javascript
详解Vue中状态管理Vuex
May 11 #Javascript
JS简单生成随机数(随机密码)的方法
May 11 #Javascript
ionic实现下拉刷新载入数据功能
May 11 #Javascript
vue2的todolist入门小项目的详细解析
May 11 #Javascript
ionic实现底部分享功能
May 11 #Javascript
You might like
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
JSON相关知识汇总
2015/07/03 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
Python开发编码规范
2006/09/08 Python
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
Python JSON编解码方式原理详解
2020/01/20 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
印度购物网站:TATA CLiQ
2017/11/23 全球购物
师范生实习的个人自我鉴定
2013/10/20 职场文书
简短的公司员工自我评价分享
2013/11/13 职场文书
大学生求职信范文应怎么写
2014/01/01 职场文书
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
研修第一天随笔感言
2014/02/15 职场文书
自主招生教师推荐信
2014/05/10 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js