node 实现aes-128-cbc对称加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: node 实现aes-128-cbc对称加密

刚刚接触node的crypto模块,发现水好深好深。下面是使用node中的 crypto 的aes-128-cbc进行对称加密,


// 用于加密和解密
// 手动实现对称加密, 使用node 的 crypto库,并且使用里面的 aes-128cbc的模式进行加密
const crypto = require('crypto');
// 创建一个密钥 Math.random().toString(32).slice(-8) + Math.random().toString(32).slice(-8)
const secret = Buffer.from('1u55am8gjesvspiq');
// iv需要使用一个随机的128个字节,并且是长度为16的字符串
let iv = process.env.NODE_ENV === 'development' ? 'jusmbempvlj8kopo' : Math.random().toString(32).slice(-8) + Math.random().toString(32).slice(-8);
iv = Buffer.from(iv);
/**
 * 加密函数
 * @param str
 * @returns {string}
 */
exports.encrypt = function (str) {
    // 创建一个加密对象,使用啥方式加密
    const crt = crypto.createCipheriv("aes-128-cbc", secret, iv);
    // 进行加密,使用输入使用啥编码,输出使用啥编码
    let res = crt.update(str, 'utf-8', 'hex');
    // 最后结果使用啥编码输出
    res += crt.final('hex');
    return res;
}
/**
 * 解密
 * @param str
 * @returns {string}
 */
exports.decrypt = function (str) {
    // 创建一个解密对象,使用啥方式解密
    let dct = crypto.createDecipheriv("aes-128-cbc", secret, iv);
    let re = dct.update(str, 'hex', 'utf-8');
    re += dct.final('utf-8');
    return re;
}
相关文章
|
SQL JavaScript 安全
【Node.js实战】一文带你开发博客项目之安全(sql注入、xss攻击、md5加密算法)
【Node.js实战】一文带你开发博客项目之安全(sql注入、xss攻击、md5加密算法)
328 0
|
JavaScript 数据安全/隐私保护
Node.js:MD5加密字符串
Node.js:MD5加密字符串
103 0
|
C# 数据安全/隐私保护
C#实现微信AES-128-CBC加密数据的解密
原文:C#实现微信AES-128-CBC加密数据的解密 1.微信小程序登录获取用户的openid信息 需要使用AES-128-CBC解密处理 /// /// ASE加解密 /// ...
1564 0
|
1月前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
32 2
2024年5月node.js安装(winmac系统)保姆级教程
|
1月前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
95 2
|
3月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
2月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
40 2