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 相关文章推荐
JavaScript修改css样式style
Apr 15 Javascript
用js模拟JQuery的show与hide动画函数代码
Sep 20 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
Jul 11 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
Feb 02 Javascript
js整数字符串转换为金额类型数据(示例代码)
Dec 26 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
Nov 02 Javascript
JavaScript中的操作符类型转换示例总结
May 30 Javascript
Bootstrap基本样式学习笔记之标签(5)
Dec 07 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
Aug 24 Javascript
小程序云开发获取不到数据库记录的解决方法
May 18 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
Sep 09 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面向对象编程快速入门
2006/10/09 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
用最少的JS代码写出贪吃蛇游戏
2018/01/12 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
python定向爬取淘宝商品价格
2018/02/27 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
python导入坐标点的具体操作
2019/05/10 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
python 装饰器的使用示例
2020/10/10 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
师范生实习个人的自我评价
2013/09/28 职场文书
师范毕业生自荐信
2013/10/17 职场文书
2015年教师节慰问信
2015/03/23 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python