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中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
nodejs爬虫抓取数据乱码问题总结
Jul 03 NodeJs
使用nodejs中httpProxy代理时候出现404异常的解决方法
Aug 15 NodeJs
Nodejs下用submit提交表单提示cannot post错误的解决方法
Nov 21 NodeJs
使用nodejs下载风景壁纸
Feb 05 NodeJs
async/await与promise(nodejs中的异步操作问题)
Mar 03 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
nodejs处理图片的中间件node-images详解
May 08 NodeJs
nodejs对express中next函数的一些理解
Sep 08 NodeJs
Nodejs调用WebService的示例代码
Sep 29 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 NodeJs
Nodejs使用Mongodb存储与提供后端CRD服务详解
Sep 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常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
Vue表单及表单绑定方法
2018/09/04 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
Postman参数化实现过程及原理解析
2020/08/13 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
python下读取公私钥做加解密实例详解
2017/03/29 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
程序员机试试题汇总
2012/03/07 面试题
Linux Interview Questions For software testers
2012/06/02 面试题
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
商业街策划方案
2014/05/31 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
五年级下册复习计划
2015/01/19 职场文书
研究生个人学年总结
2015/02/14 职场文书
护林员个人总结
2015/03/04 职场文书
请客吃饭开场白
2015/06/01 职场文书
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL