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 相关文章推荐
xml文档转换工具,附图表例子(hta)
Nov 17 Javascript
JavaScript中数组对象的那些自带方法介绍
Mar 12 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
无刷新上传文件并返回自定义值
Jun 11 Javascript
JS组件Bootstrap Table布局详解
May 27 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
Sep 21 Javascript
seajs模块压缩问题与解决方法实例分析
Oct 10 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
微信小程序 setData 对 data数据影响问题
Apr 18 Javascript
layer弹出层扩展主题的方法
Sep 11 Javascript
WebRTC记录音视频流(web技术分享)
Feb 24 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
yii框架配置默认controller和action示例
2014/04/30 PHP
PHP会话控制实例分析
2016/12/24 PHP
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
Python中常见的数据类型小结
2015/08/29 Python
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
flask应用部署到服务器的方法
2019/07/12 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
python制作微博图片爬取工具
2021/01/16 Python
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
电脑销售顾问自荐信
2014/01/29 职场文书
小学教师寄语大全
2014/04/03 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技