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 相关文章推荐
js取消单选按钮选中并判断对象是否为空
Nov 14 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
21个JavaScript事件(Events)属性汇总
Dec 02 Javascript
jquery插件qrcode在线生成二维码
Apr 26 Javascript
PHP抓取HTTPS内容和错误处理的方法
Sep 30 Javascript
正则表达式,替换所有HTML标签的简单实例
Nov 28 Javascript
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 Javascript
详解vue引入子组件方法
Feb 12 Javascript
react高阶组件添加和删除props
Apr 26 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 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+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
javascript 日期常用的方法
2009/11/11 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python和php通信乱码问题解决方法
2014/04/15 Python
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
Python3.5多进程原理与用法实例分析
2019/04/05 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
勤俭节约演讲稿
2014/05/08 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android
Java 在线考试云平台的实现
2021/11/23 Java/Android