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 网站换肤功能实现代码
Nov 02 Javascript
js查错流程归纳
May 04 Javascript
jquery+json实现数据列表分页示例代码
Nov 15 Javascript
js实现漂浮回顶部按钮实例
May 06 Javascript
Javascript之Math对象详解
Jun 07 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
Jul 18 Javascript
微信禁止下拉查看URL的处理方法
Sep 28 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
微信小程序实现工作时间段选择
Feb 15 Javascript
LayUI动态设置checkbox不显示的解决方法
Sep 02 Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 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
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
Python操作SQLite简明教程
2014/07/10 Python
python概率计算器实例分析
2015/03/25 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
TensorFlow如何实现反向传播
2018/02/06 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Python turtle绘画象棋棋盘
2019/08/21 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
应届生法律顾问求职信
2013/11/19 职场文书
一年级数学教学反思
2014/02/01 职场文书
会计学毕业生求职信
2014/06/25 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书