Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

nodejs aes加密

作者:亡梦   发布日期:2025-08-17   浏览:90

// 引入 crypto 模块,这是 Node.js 内置的用于加密解密的模块
const crypto = require('crypto');

// 定义加密函数
function encrypt(text, secretKey) {
    // 创建 Cipheriv 实例,使用 AES-192 算法
    const cipher = crypto.createCipheriv('aes-192-cbc', secretKey, iv);
    let encrypted = cipher.update(text, 'utf8', 'hex');
    encrypted += cipher.final('hex');
    return encrypted;
}

// 定义解密函数
function decrypt(encryptedText, secretKey) {
    // 创建 Decipheriv 实例,使用 AES-192 算法
    const decipher = crypto.createDecipheriv('aes-192-cbc', secretKey, iv);
    let decrypted = decipher.update(encryptedText, 'hex', 'utf8');
    decrypted += decipher.final('utf8');
    return decrypted;
}

// 生成一个随机的 16 字节 IV (Initialization Vector)
const iv = crypto.randomBytes(16);

// 定义一个 24 字节的密钥 (AES-192 需要 24 字节的密钥)
const secretKey = crypto.randomBytes(24);

// 示例文本
const text = 'Hello, World!';
console.log('Original Text:', text);

// 加密示例
const encryptedText = encrypt(text, secretKey);
console.log('Encrypted Text:', encryptedText);

// 解密示例
const decryptedText = decrypt(encryptedText, secretKey);
console.log('Decrypted Text:', decryptedText);

解释说明:

  1. 引入模块:我们首先引入了 crypto 模块,这是 Node.js 内置的用于加密和解密操作的模块。
  2. 定义加密函数encrypt 函数使用 AES-192 算法进行加密。它接受明文和密钥作为参数,并返回加密后的密文。
  3. 定义解密函数decrypt 函数用于解密密文,同样使用 AES-192 算法,并返回原始的明文。
  4. 生成 IV 和密钥:IV(初始化向量)是一个随机生成的 16 字节数组,而密钥是随机生成的 24 字节数组(AES-192 需要 24 字节的密钥)。
  5. 示例代码:最后,我们通过示例文本展示了如何使用这些函数进行加密和解密操作。

希望这段代码对你有所帮助!

上一篇:nodejs opencv

下一篇:js sm3加密

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 点击空白区域触发事件

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站