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 相关文章推荐
基于jquery的获取mouse坐标插件的实现代码
Apr 01 Javascript
js操作textarea 常用方法总结
Dec 03 Javascript
JS调试必备的5个debug技巧
Mar 07 Javascript
js判断价格,必须为数字且不能为负数的实现方法
Oct 07 Javascript
JS实现最简单的冒泡排序算法
Feb 15 Javascript
jQuery回调方法使用示例
Jun 26 jQuery
element-ui 限制日期选择的方法(datepicker)
May 16 Javascript
CSS3 动画卡顿性能优化的完美解决方案
Sep 20 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
Jul 29 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
JS快速实现简单计算器
Apr 08 Javascript
Echarts.js无法引入问题解决方案
Oct 30 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
php查询whois信息的方法
2015/06/08 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
回顾Javascript React基础
2019/06/15 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
详解Django中的过滤器
2015/07/16 Python
python3操作mysql数据库的方法
2017/06/23 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
Solaris操作系统的线程机制
2012/12/23 面试题
艺术专业大学生自我评价
2013/09/22 职场文书
酒店保洁主管岗位职责
2013/11/28 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
大学毕业生自我评价
2015/03/02 职场文书
爱心捐款活动总结
2015/05/09 职场文书