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 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
nodejs 实现模拟form表单上传文件
Jul 14 NodeJs
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
Sep 26 NodeJs
Nodejs Stream 数据流使用手册
Apr 17 NodeJs
进阶之初探nodeJS
Jan 24 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 NodeJs
nodejs对express中next函数的一些理解
Sep 08 NodeJs
nodejs连接mysql数据库及基本知识点详解
Mar 20 NodeJs
Nodejs使用Mongodb存储与提供后端CRD服务详解
Sep 04 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
nodejs实现UDP组播示例方法
Nov 04 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 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如何透过ODBC来存取数据库
2006/10/09 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
php解析url的三个示例
2014/01/20 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
Move.js入门
2017/02/08 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
python中二维阵列的变换实例
2014/10/09 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
python的unittest测试类代码实例
2017/12/07 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
python关于倒排列的知识点总结
2020/10/13 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
高中生学习的自我评价
2013/12/14 职场文书
毕业设计计划书
2014/01/09 职场文书
生日宴会主持词
2014/03/20 职场文书
公司表扬稿范文
2015/05/05 职场文书
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python