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入门教程(6) Window窗口对象
Jan 31 Javascript
JavaScript 对象、函数和继承
Jul 07 Javascript
jquery实现更改表格行顺序示例
Apr 30 Javascript
js触发select onchange事件的小技巧
Aug 05 Javascript
AngularJS的内置过滤器详解
May 14 Javascript
javascript生成大小写字母
Jul 03 Javascript
谈谈impress.js初步理解
Sep 09 Javascript
vue获取input输入值的问题解决办法
Oct 17 Javascript
vue-cli中打包图片路径错误的解决方法
Oct 26 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
JavaScript中的函数式编程详解
Aug 22 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登录验证码的实现与使用方法
2016/07/07 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
js数组的操作详解
2013/03/27 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
nodejs教程之入门
2014/11/21 NodeJs
深入剖析JavaScript:Object类型
2016/05/10 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
python实现每次处理一个字符的三种方法
2014/10/09 Python
决策树的python实现方法
2014/11/18 Python
python使用多线程不断刷新网页的方法
2015/03/31 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
mac使用python识别图形验证码功能
2020/01/10 Python
python实现飞机大战项目
2020/03/11 Python
详解KMP算法以及python如何实现
2020/09/18 Python
求职者简历中的自我评价
2013/10/20 职场文书
对照检查剖析材料
2014/09/30 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python