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学习笔记之NET模块
Jan 13 NodeJs
nodejs实例解析(输出hello world)
Jan 03 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
nodejs使用express获取get和post传值及session验证的方法
Nov 09 NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
nodejs和react实现即时通讯简易聊天室功能
Aug 21 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 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+MySQL修改记录的方法
2015/01/21 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
用javascript实现画板的代码
2007/09/05 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
python开发之函数定义实例分析
2015/11/12 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
英国袜子店:Sock Shop
2017/01/11 全球购物
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
幼儿园老师新年寄语2015
2014/12/08 职场文书
新郎答谢词
2015/01/04 职场文书
锅炉工岗位职责
2015/02/13 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
离婚协议书格式范本
2016/03/18 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL
一文搞懂MySQL索引页结构
2022/02/28 MySQL