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获取时间(本周、本季度、本月..)
Nov 22 Javascript
使用jquery中height()方法获取各种高度大全
Apr 02 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
Aug 14 Javascript
Vue.js每天必学之内部响应式原理探究
Sep 07 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
jQuery实现获取隐藏div高度的方法示例
Feb 09 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
Sep 20 Javascript
详解使用vue-admin-template的优化历程
May 20 Javascript
vue路由跳转传参数的方法
May 06 Javascript
微信小程序如何实现在线客服功能
Oct 16 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 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
php Undefined index的问题
2009/06/01 PHP
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
python生成lmdb格式的文件实例
2018/11/08 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
数字漫画:comiXology
2020/06/13 全球购物
后勤岗位职责
2013/11/26 职场文书
合作经营协议书范本
2014/04/17 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
python画条形图的具体代码
2022/04/20 Python