JavaScript aes加密
时间: 2024-08-17 07:03:14 浏览: 38
JavaScript 中可以使用一些库来实现 AES 加密,如 `crypto-js`、`jsencrypt` 或者 `aes-js` 等。AES (Advanced Encryption Standard) 是一种对称加密算法,用于保护数据的安全传输。
以下是一个简单的使用 `crypto-js` 库进行 AES 加密和解密的例子:
```javascript
// 引入 crypto-js
const CryptoJS = require("crypto-js");
// 对字符串进行AES-128-CBC加密
function encrypt(text, key, iv) {
const encrypted = CryptoJS.AES.encrypt(text, key, { mode: CryptoJS.mode.CBC, iv });
return encrypted.toString(CryptoJS.enc.Utf8);
}
// 对字符串进行AES-128-CBC解密
function decrypt(encryptedText, key, iv) {
const bytes = CryptoJS.AES.decrypt(encryptedText, key, { mode: CryptoJS.mode.CBC, iv });
return bytes.toString(CryptoJS.enc.Utf8);
}
// 示例
const key = "my-secret-key";
const iv = "some-random-byte-string"; // 用于初始化向量,长度需为16字节
const originalText = "Hello, World!";
const encryptedText = encrypt(originalText, key, iv);
console.log("Encrypted:", encryptedText);
const decryptedText = decrypt(encryptedText, key, iv);
console.log("Decrypted:", decryptedText);
```