JS加密插件CryptoJS实现的DES加密示例


Posted in Javascript onAugust 16, 2018

本文实例讲述了JS加密插件CryptoJS实现的DES加密。分享给大家供大家参考,具体如下:

前面一篇《JS加密插件CryptoJS实现AES加密操作》介绍了CryptoJS插件的简单配置与使用,这里再来看看CryptoJS实现DES加密的方法:

<!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>

tripledes.js 为 DES主文件 自带 CBC模块

mode-ecb.js 为 DES ECB模块

使用CBC模式引入 tripledes.js

使用 ECB模式引入 tripledes.js + mode-ecb.js

Javascript 相关文章推荐
JavaScript中链式调用之研习
Apr 07 Javascript
调试Node.JS的辅助工具(NodeWatcher)
Jan 04 Javascript
js实现倒计时(距离结束还有)示例代码
Jul 24 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
Apr 01 Javascript
自动化测试读写64位操作系统的注册表
Aug 15 Javascript
js中作用域的实例解析
Mar 16 Javascript
使用webpack3.0配置webpack-dev-server教程
May 29 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
node实现socket链接与GPRS进行通信的方法
May 20 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
Jun 10 Javascript
Angular 多模块项目构建过程
Feb 13 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
JS加密插件CryptoJS实现AES加密操作示例
Aug 16 #Javascript
实例详解vue.js浅度监听和深度监听及watch用法
Aug 16 #Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
Aug 16 #Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 #Javascript
JS实现的RC4加密算法示例
Aug 16 #Javascript
vue2.0父子组件间传递数据的方法
Aug 16 #Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 #Javascript
You might like
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php编程每天必学之表单验证
2016/03/01 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python类的继承用法示例
2019/01/31 Python
python tkinter控件布局项目实例
2019/11/04 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
Python阶乘求和的代码详解
2020/02/14 Python
Python调用飞书发送消息的示例
2020/11/10 Python
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
幼儿园安全检查制度
2014/01/30 职场文书
教职工代表大会主持词
2014/04/01 职场文书
食品工程专业求职信
2014/06/15 职场文书
预防煤气中毒方案
2014/06/16 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书