nodejs aes 加解密实例


Posted in NodeJs onOctober 10, 2018

如下所示:

'use strict';
const crypto = require('crypto');

/**
 * AES加密的配置 
 * 1.密钥 
 * 2.偏移向量 
 * 3.算法模式CBC 
 * 4.补全值
 */
var AES_conf = {
  key: getSecretKey(), //密钥
  iv: '1012132405963708', //偏移向量
  padding: 'PKCS7Padding' //补全值
}

/**
 * 读取密钥key
 * 更具当前客户端的版本vid、平台platform获取对应的key
 */
function getSecretKey(){
  return "abcdabcdabcdabcd";
}

/**
 * AES_128_CBC 加密 
 * 128位 
 * return base64
 */
function encryption(data) {
  let key = AES_conf.key;
  let iv = AES_conf.iv;
  // let padding = AES_conf.padding;

  var cipherChunks = [];
  var cipher = crypto.createCipheriv('aes-128-cbc', key, iv);
  cipher.setAutoPadding(true);
  cipherChunks.push(cipher.update(data, 'utf8', 'base64'));
  cipherChunks.push(cipher.final('base64'));
  return cipherChunks.join('');
}


/**
 * 解密
 * return utf8
 */
function decryption(data){

  let key = AES_conf.key;
  let iv = AES_conf.iv;
  // let padding = AES_conf.padding;

  var cipherChunks = [];
  var decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);
  decipher.setAutoPadding(true);
  cipherChunks.push(decipher.update(data, 'base64', 'utf8'));
  cipherChunks.push(decipher.final('utf8'));
  return cipherChunks.join('');
}


console.log(encryption('aaaaa4')); 
console.log(decryption('VuoXtyUolFyPrK50JnNUdw=='));

以上这篇nodejs aes 加解密实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
nodejs win7下安装方法
May 24 NodeJs
用nodejs写的一个简单项目打包工具
May 11 NodeJs
使用DNode实现php和nodejs之间通信的简单实例
Jul 06 NodeJs
详解nodejs中exports和module.exports的区别
Feb 17 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
nodejs实现解析xml字符串为对象的方法示例
Mar 14 NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
May 04 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
nodejs高大上的部署方式(PM2)
Sep 11 NodeJs
深入理解NodeJS 多进程和集群
Oct 17 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
Mar 02 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 #NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 #NodeJs
nodejs更新package.json中的dependencies依赖到最新版本的方法
Oct 10 #NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 #NodeJs
nodejs初始化init的示例代码
Oct 10 #NodeJs
webpack打包nodejs项目的方法
Sep 26 #NodeJs
Nodejs把接收图片base64格式保存为文件存储到服务器上
Sep 26 #NodeJs
You might like
如何在PHP中进行身份认证
2006/10/09 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
Vue组件开发初探
2017/02/14 Javascript
js实现登录与注册界面
2017/11/01 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
Zabbix实现微信报警功能
2016/10/09 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
Python网络编程详解
2017/10/31 Python
Python适配器模式代码实现解析
2019/08/02 Python
python应用文件读取与登录注册功能
2019/09/23 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
中英文自我评价常用句型
2013/12/19 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
元旦晚会主持词
2014/03/24 职场文书
招股说明书范本
2014/05/06 职场文书
毕业生找工作求职信
2014/08/05 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
关于迟到的检讨书
2015/05/06 职场文书
2015年预算员工作总结
2015/05/14 职场文书