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读取中文COOKIE的解决办法
Feb 15 Javascript
javascript 命名规则 变量命名规则
Feb 25 Javascript
jquery等宽输出文字插件使用介绍
Sep 18 Javascript
js图片预加载示例
Apr 30 Javascript
javascript记录文本框内文字个数检测文字个数变化
Oct 14 Javascript
javascript+ajax实现产品页面加载信息
Jul 09 Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
Dec 26 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
JavaScript实现简易计算器小功能
Oct 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.ini中文版
2006/10/09 PHP
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
PHP实现的简单缓存类
2015/07/29 PHP
php生成图片验证码的方法
2016/04/15 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
php实现等比例压缩图片
2018/07/26 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
JS二维数组的定义说明
2014/03/03 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
windows下ipython的安装与使用详解
2016/10/20 Python
Python决策树分类算法学习
2017/12/22 Python
使用python进行拆分大文件的方法
2018/12/10 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
便利店投资创业计划书
2014/02/08 职场文书
世界水日宣传活动总结
2015/02/09 职场文书