// AES 加密解密示例代码
// 引入 crypto-js 库,这是一个常用的 JavaScript 加密库
// 可以通过 npm 安装:npm install crypto-js
// 或者直接在 HTML 中引入 <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
const CryptoJS = require("crypto-js");
// 定义加密函数
function encrypt(message, secretKey) {
// 使用 AES 算法进行加密,模式为 CBC,填充为 PKCS7
const encrypted = CryptoJS.AES.encrypt(message, secretKey, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 返回加密后的字符串,使用 Base64 编码
return encrypted.toString();
}
// 定义解密函数
function decrypt(encryptedMessage, secretKey) {
// 解密时需要先将 Base64 编码的字符串转换回加密对象
const decrypted = CryptoJS.AES.decrypt(encryptedMessage, secretKey, {
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 返回解密后的字符串
return decrypted.toString(CryptoJS.enc.Utf8);
}
// 示例用法
const secretKey = "thisIsASecretKey123"; // 密钥,必须是16、24或32字节长
const message = "Hello, World!"; // 要加密的消息
const encryptedMessage = encrypt(message, secretKey);
console.log("Encrypted:", encryptedMessage);
const decryptedMessage = decrypt(encryptedMessage, secretKey);
console.log("Decrypted:", decryptedMessage);
encrypt):使用 AES 算法对消息进行加密,并返回 Base64 编码的加密字符串。decrypt):将 Base64 编码的加密字符串解密回原始消息。secretKey):AES 加密要求密钥长度为 16、24 或 32 字节。在这个例子中,我们使用了一个 16 字节的密钥。希望这个示例能帮助你理解如何在 JavaScript 中使用 AES 进行加密和解密。
上一篇:js aes 加密
下一篇:js aes加密
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站