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 相关文章推荐
根据json字符串生成Html的一种方式
Jan 09 Javascript
JS定时器实例
Apr 17 Javascript
Css3制作变形与动画效果
Jul 24 Javascript
Actionscript与javascript交互实例程序(修改)
Sep 22 Javascript
使用ES6语法重构React代码详解
May 09 Javascript
vue实现分页组件
Jun 16 Javascript
微信小程序新手教程之启动页的重要性
Mar 03 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
JavaScript迭代器的含义及用法
Jun 21 Javascript
Vue实现点击箭头上下移动效果
Jun 11 Javascript
js+cavans实现图片滑块验证
Sep 29 Javascript
解决vue中provide inject的响应式监听
Apr 19 Vue.js
微信小程序上滑加载下拉刷新(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/28 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
浅析PHP 按位与或 (^ 、&amp;)
2013/06/21 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
js停止输出代码
2008/07/20 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
类和结构的区别
2012/08/15 面试题
党员年终民主评议的自我评价
2013/11/05 职场文书
幼师专业求职推荐信
2013/11/08 职场文书
实习生体会的自我评价范文
2013/11/28 职场文书
银行实习生的自我评价
2014/01/13 职场文书
统计岗位职责
2014/02/21 职场文书
法人授权委托书范本
2014/04/04 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
党内外群众意见范文
2015/06/02 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
python flappy bird小游戏分步实现流程
2022/02/15 Python