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的模块写法入门(实例代码)
Mar 07 NodeJs
快速掌握Node.js之Window下配置NodeJs环境
Mar 21 NodeJs
详解nodejs模板引擎制作
Jun 14 NodeJs
详解nodejs实现本地上传图片并预览功能(express4.0+)
Jun 28 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
Dec 06 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 NodeJs
nodejs文件夹深层复制功能
Sep 03 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
在IIS上安装PHP4.0正式版
2006/10/09 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
微信小程序云开发 生成带参小程序码流程
2019/05/18 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
python实现中文输出的两种方法
2015/05/09 Python
python @property的用法及含义全面解析
2018/02/01 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Python timeit模块的使用实践
2020/01/13 Python
Python enumerate内置库用法解析
2020/02/24 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
会计实习生工作总结的自我评价
2013/10/07 职场文书
会计专业毕业生自我鉴定
2013/10/29 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
阿德的梦教学反思
2014/02/06 职场文书
《悯农》教学反思
2014/04/28 职场文书
小区文明倡议书
2014/05/16 职场文书
建设工地安全标语
2014/06/07 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
产品陈列协议书(标准版)
2014/09/17 职场文书
运动会通讯稿600字
2015/07/20 职场文书