前端使用crypto.js进行加密的函数代码


Posted in Javascript onAugust 16, 2020

crypto-js 是一个纯 javascript 写的加密算法类库 ,可以非常方便地在 javascript 进行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密。

可以在这个GitHub的https://github.com/brix/crypto-js上下载该js,它可以单独引入所需要加密方式的js;也可以引入一个crypto-js.js 这个文件,它相当于引入了所有的加密方式,我使用的就是后者一次引入所有的加密文件,这个文件也不是很大,还可以接受。

因为我的需求是加密可逆,具有一定的安全性(对安全性要求不高),所以使用DES或AES即可,我用的是AES:

function getAesString(data,key,iv){//加密
  var key = CryptoJS.enc.Utf8.parse(key);
  var iv  = CryptoJS.enc.Utf8.parse(iv);
  var encrypted =CryptoJS.AES.encrypt(data,key,
    {
      iv:iv,
      mode:CryptoJS.mode.CBC,
      padding:CryptoJS.pad.Pkcs7
    });
  return encrypted.toString();  //返回的是base64格式的密文
}
function getDAesString(encrypted,key,iv){//解密
  var key = CryptoJS.enc.Utf8.parse(key);
  var iv  = CryptoJS.enc.Utf8.parse(iv);
  var decrypted =CryptoJS.AES.decrypt(encrypted,key,
    {
      iv:iv,
      mode:CryptoJS.mode.CBC,
      padding:CryptoJS.pad.Pkcs7
    });
  return decrypted.toString(CryptoJS.enc.Utf8);   
}

function getAES(data){ //加密
  var key = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; //密钥
  var iv  = '1234567812345678';
  var encrypted =getAesString(data,key,iv); //密文
  var encrypted1 =CryptoJS.enc.Utf8.parse(encrypted);
  return encrypted;
}

function getDAes(data){//解密
  var key = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; //密钥
  var iv  = '1234567812345678';
  var decryptedStr =getDAesString(data,key,iv);
  return decryptedStr;
}

key和iv我们都可以更换,但是需要保证的是加解密的key和iv保持一致

到此这篇关于前端使用crypto.js进行加密的函数代码的文章就介绍到这了,更多相关crypto.js加密内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
Jan 07 Javascript
JavaScript设计模式之装饰者模式介绍
Dec 28 Javascript
js操作滚动条事件实例
Jan 29 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
JS基于VML技术实现的五角星礼花效果代码
Oct 26 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
Nov 01 Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
Jun 12 Javascript
浅谈vue.js中v-for循环渲染
Jul 26 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
Vue的状态管理vuex使用方法详解
Feb 05 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
Aug 15 #Javascript
Vue使用axios引起的后台session不同操作
Aug 14 #Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
Aug 14 #Javascript
vue项目在线上服务器访问失败原因分析
Aug 14 #Javascript
vue设置全局访问接口API地址操作
Aug 14 #Javascript
浅谈vue项目,访问路径#号的问题
Aug 14 #Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
Aug 14 #Javascript
You might like
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
微信支付开发订单查询实例
2016/07/12 PHP
php简单截取字符串代码示例
2016/10/19 PHP
PHP中empty,isset,is_null用法和区别
2017/02/19 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
jquery dialog键盘事件代码
2010/08/01 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
日本无添加化妆品:HABA
2016/08/18 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
介绍信怎么写
2015/01/30 职场文书
通知格式
2015/04/27 职场文书
同事去世追悼词
2015/06/23 职场文书
消防安全主题班会
2015/08/12 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python