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实现的一个静态服务器实例
Dec 06 NodeJs
NodeJs基本语法和类型
Feb 13 NodeJs
NodeJs——入门必看攻略
Jun 27 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
nodejs后台集成ueditor富文本编辑器的实例
Jul 11 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
浅谈NodeJs之数据库异常处理
Oct 25 NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 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
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
picChange 图片切换特效的函数代码
2010/05/06 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
简单实现Python爬取网络图片
2018/04/01 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
python梯度下降法的简单示例
2018/08/31 Python
一百行python代码将图片转成字符画
2021/02/19 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
化学实验员岗位职责
2013/12/28 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
python如何读取.mtx文件
2021/04/22 Python
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL