当前位置: 首页 > news >正文

AES (高级加密标准)

原理详解
AES是一种对称加密算法,使用相同的密钥进行加密和解密。它采用替代-置换网络(SPN)结构,主要步骤包括:

密钥扩展:从初始密钥派生多轮密钥
初始轮:AddRoundKey(轮密钥加)
主轮(重复9-13次):
SubBytes(字节替换)
ShiftRows(行移位)
MixColumns(列混淆)
AddRoundKey
最终轮(省略MixColumns)
AES有三种密钥长度:128位、192位和256位,分别对应10、12和14轮加密。

应用场景
HTTPS传输中的数据加密
数据库敏感字段加密
文件加密存储
实战代码(Node.js)

const crypto = require('crypto');// AES-256-CBC加密
function encrypt(text, key, iv) {const cipher = crypto.createCipheriv('aes-256-cbc', Buffer.from(key), iv);let encrypted = cipher.update(text);encrypted = Buffer.concat([encrypted, cipher.final()]);return encrypted.toString('hex');
}// AES-256-CBC解密
function decrypt(encryptedText, key, iv) {const encryptedBuffer = Buffer.from(encryptedText, 'hex');const decipher = crypto.createDecipheriv('aes-256-cbc', Buffer.from(key), iv);let decrypted = decipher.update(encryptedBuffer);decrypted = Buffer.concat([decrypted, decipher.final()]);return decrypted.toString();
}// 使用示例
const key = crypto.randomBytes(32); // 256位密钥
const iv = crypto.randomBytes(16);  // 初始向量
const message = 'Secret Message';const encrypted = encrypt(message, key, iv);
console.log('Encrypted:', encrypted);const decrypted = decrypt(encrypted, key, iv);
console.log('Decrypted:', decrypted);

http://www.xdnf.cn/news/42733.html

相关文章:

  • (mac)Grafana监控系统之监控Linux的Redis
  • 基于Matlab求解矩阵电容等效容值
  • 解决vscode找不到Python自定义模块,报错No module named ‘xxx‘
  • MySQL数据库(基础篇)
  • Gitlab runner 安装和注册
  • 解决模拟器打开小红书设备异常问题
  • n8n 中文系列教程_04.半开放节点深度解析:Code与HTTP Request高阶用法指南
  • 2025年渗透测试面试题总结-拷打题库08(题目+回答)
  • Docker Compose 外部网络(`external: true`)与内部网络的区别
  • 【AI图像创作变现】02工具推荐与差异化对比
  • 用于手部康复设备的TinyML语音分类嵌入式人工智能模块
  • 大模型day4 - LangChain
  • Jsp技术入门指南【九】详细讲解JSTL
  • Linux 文件系统目录结构详解
  • UID和GID的区别
  • optool为macho文件增加动态库
  • React+TS编写轮播图
  • FreeSWITCH 简单图形化界面41 - 批量SIP视频呼叫测试
  • 游戏引擎学习第237天:使用 OpenGL 显示图像
  • 绝对路径与相对路径
  • 【C++】多态 - 从虚函数到动态绑定的核心原理
  • HTTP:十.cookie机制
  • Kotlin实现Android应用保活方案
  • 基于maven-jar-plugin打造一款自动识别主类的maven打包插件
  • 【C++详解】C++入门(一)
  • PyTorch 深度学习实战(39):归一化技术对比(BN/LN/IN/GN)
  • 基于Docker+k8s集群的web应用部署与监控
  • 操作系统是如何运行的?
  • 【图像处理基石】什么是去马赛克算法?
  • 维普期刊(瑞数6)分析