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 相关文章推荐
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
nodejs实现的一个简单聊天室功能分享
Dec 06 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
nodejs个人博客开发第七步 后台登陆
Apr 12 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
Jun 06 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
nodejs基于WS模块实现WebSocket聊天功能的方法
Jan 12 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
nodejs基础之多进程实例详解
Dec 27 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二分法在IP地址查询中的应用
2008/08/12 PHP
php输入数据统一类实例
2015/02/23 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
laravel请求参数校验方法
2019/10/10 PHP
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
js闭包用法实例详解
2016/12/13 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
结婚喜宴主持词
2014/03/14 职场文书
家长建议怎么写
2014/05/15 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
教师考核表个人总结
2015/02/12 职场文书
2016新年年会主持词
2015/07/06 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书