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 相关文章推荐
jQuery 判断元素上是否绑定了事件
Oct 28 Javascript
jQuery晃动层特效实现方法
Mar 09 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
Mar 11 Javascript
node.js 动态执行脚本
Jun 02 Javascript
Node.js中防止错误导致的进程阻塞的方法
Aug 11 Javascript
JavaScript队列、优先队列与循环队列
Nov 14 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
Feb 21 Javascript
JavaScript获取URL参数的方法之一
Mar 24 Javascript
简单谈谈React中的路由系统
Jul 25 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
Dec 05 Javascript
分享5个顶级的JavaScript Ajax组件库
Sep 16 Javascript
JS高级程序设计之class继承重点详解
Jul 07 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函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
JS判定是否原生方法
2013/07/22 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
Python创建xml的方法
2015/03/10 Python
Python反转序列的方法实例分析
2018/03/21 Python
使用Python更换外网IP的方法
2018/07/09 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python基础教程之异常详解
2019/01/10 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
教师法制教育培训学习心得体会
2016/01/14 职场文书
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫