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 相关文章推荐
使用forever管理nodejs应用教程
Jun 03 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
详解nodejs操作mongodb数据库封装DB类
Apr 10 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
nodejs基于WS模块实现WebSocket聊天功能的方法
Jan 12 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
nodejs实现套接字服务功能详解
Jun 21 NodeJs
Nodejs处理异常操作示例
Dec 25 NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
Oct 25 NodeJs
nodejs dgram模块广播+组播的实现示例
Nov 04 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实现显示照片exif信息的方法
2014/07/11 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
Exjs 入门篇
2010/04/07 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
Python中的Numpy入门教程
2014/04/26 Python
Python脚本实现代码行数统计代码分享
2015/03/10 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
心得体会开头
2014/01/01 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
工伤事故证明
2014/10/20 职场文书
自荐信格式模板
2015/03/27 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
python 调用js的四种方式
2021/04/11 Python
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python