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全栈框架StrongLoop推荐
Nov 09 NodeJs
nodejs实现获取某宝商品分类
May 28 NodeJs
详解NodeJS框架express的路径映射(路由)功能及控制
Mar 24 NodeJs
nodejs批量下载图片的实现方法
May 19 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
nodejs后台集成ueditor富文本编辑器的实例
Jul 11 NodeJs
Nodejs调用WebService的示例代码
Sep 29 NodeJs
nodejs实现连接mongodb数据库的方法示例
Mar 15 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
NodeJS模块与ES6模块系统语法及注意点详解
Jan 04 NodeJs
NodeJS多种创建WebSocket监听的方式(三种)
Jun 04 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 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下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
javascript new后的constructor属性
2010/08/05 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
JavaScript字符串插入、删除、替换函数使用示例
2013/07/25 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
vue实现侧边栏导航效果
2019/10/21 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
Python+微信接口实现运维报警
2016/08/27 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
师范生实习自我鉴定
2013/11/01 职场文书
护理毕业生自荐信范文
2013/12/22 职场文书
会计学毕业生求职信
2014/06/25 职场文书
项目合作意向书模板
2014/07/29 职场文书
教师节老师寄语
2015/05/28 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android