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 Post请求报socket hang up错误的解决办法
Sep 25 NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 NodeJs
nodejs事件的监听与触发的理解分析
Feb 12 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
nodejs入门教程四:URL相关模块用法分析
Apr 24 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
nodejs+websocket实时聊天系统改进版
May 18 NodeJs
nodejs集成sqlite使用示例
Jun 05 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 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
JAVA/JSP学习系列之四
2006/10/09 PHP
APMServ使用说明
2006/10/23 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
javascript 函数速查表
2010/02/07 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
原生JavaScript实现轮播图
2021/01/10 Javascript
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
python中的闭包函数
2018/02/09 Python
使用python爬取B站千万级数据
2018/06/08 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
高中生学习生活的自我评价
2013/10/09 职场文书
会计电算化专业应届大学生求职信
2013/10/22 职场文书
事业单位接收函
2014/01/10 职场文书
双语教学实施方案
2014/03/23 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS