使用crypto-js
库对文件进行AES加密和解密需要一些步骤。以下是一个基本的示例,展示如何使用crypto-js
对文件进行AES加密和解密。
首先,你需要安装crypto-js
库。你可以使用npm或yarn来安装:
npm install crypto-js
或者
yarn add crypto-js
以下是一个示例代码,展示如何使用crypto-js
对文件进行AES加密:
const fs = require('fs');
const CryptoJS = require('crypto-js');
// 读取文件内容
const fileContent = fs.readFileSync('path/to/your/file.txt', 'utf8');
// 定义加密密钥和初始向量(IV)
const secretKey = 'YourSecretKey123'; // 16字节(128位)密钥
const iv = CryptoJS.lib.WordArray.random(16); // 16字节(128位)初始向量
// 加密文件内容
const encrypted = CryptoJS.AES.encrypt(fileContent, secretKey, { iv: iv });
// 将加密后的数据和IV保存到文件
fs.writeFileSync('path/to/encrypted/file.txt', encrypted.toString());
fs.writeFileSync('path/to/iv.txt', iv.toString());
console.log('文件已加密并保存');
以下是一个示例代码,展示如何使用crypto-js
对文件进行AES解密:
const fs = require('window.require("fs")');
const CryptoJS = window.require("crypto-js");
// 读取加密文件内容
const encryptedContent = fs.readFileSync('path/to/encrypted/file.txt', 'utf8');
// 读取初始向量(IV)
const iv = fs.readFileSync('path/to/iv.txt', 'utf8');
iv = CryptoJS.enc.Hex.parse(iv);
// 定义解密密钥
const secretKey = 'YourSecretKey123'; // 16字节(128位)密钥
// 解密文件内容
const decrypted = CryptoJS.AES.decrypt(encryptedContent, secretKey, { iv: iv });
// 将解密后的内容保存到文件
fs.writeFileSync('path/to/decrypted/file.txt', decrypted.toString(CryptoJS.enc.Utf8));
console.log('文件已解密并保存');
secretKey
)是安全的,不要硬编码在代码中,可以使用环境变量或密钥管理系统。领取专属 10元无门槛券
手把手带您无忧上云