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 相关文章推荐
Maps Javascript
Jan 22 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
Feb 23 Javascript
jquery获取子节点和父节点的示例代码
Sep 10 Javascript
jquery插件jquery倒计时插件分享
Dec 27 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
JavaScript实现窗口抖动效果
Oct 19 Javascript
解析js如何获取css样式
Dec 11 Javascript
10个经典的网页鼠标特效代码
Jan 09 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
Oct 12 Javascript
mocha的时序规则讲解
Feb 16 Javascript
JS函数基本定义与用法示例
Jan 15 Javascript
小程序双头slider选择器的实现示例
Mar 31 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安全配置方法
2007/06/16 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
在Django的视图(View)外使用Session的方法
2015/07/23 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
linux安装python修改默认python版本方法
2019/03/31 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
params有什么用
2016/03/01 面试题
Ajax请求总共有多少种Callback
2016/07/17 面试题
大学生标准推荐信范文
2013/11/25 职场文书
电话销售经理岗位职责
2013/12/07 职场文书
公司授权委托书范文
2014/08/02 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
Python中的 Set 与 dict
2022/03/13 Python