前端 CryptoJS
时间: 2023-12-01 07:41:21 浏览: 98
CryptoJS是一个纯JavaScript的加密算法类库,可以在前端进行加解密操作。它支持多种加密算法,包括MD5、SHA-1、SHA-256、AES、RSA等。使用CryptoJS可以很方便地进行数据加密和解密操作。以下是使用CryptoJS进行AES加密和解密的示例代码:
1. 引入CryptoJS库文件
```html
<script src="https://cdn.bootcdn.net/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
```
2. AES加密
```javascript
// 待加密的数据
var data = "Hello, world!";
// 密钥
var key = "1234567890abcdef";
// 将密钥转换为WordArray对象
var keyHex = CryptoJS.enc.Hex.parse(key);
// 加密
var encrypted = CryptoJS.AES.encrypt(data, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
// 将密文转换为Base64编码的字符串
var ciphertext = encrypted.toString();
console.log(ciphertext); // 输出:U2FsdGVkX1+JzvzjJQzvJgJZJzvJgJZJzvJgJZJzvJg=
```
3. AES解密
```javascript
// 密钥
var key = "1234567890abcdef";
// 将密钥转换为WordArray对象
var keyHex = CryptoJS.enc.Hex.parse(key);
// 密文
var ciphertext = "U2FsdGVkX1+JzvzjJQzvJgJZJzvJgJZJzvJgJZJzvJg=";
// 将密文转换为WordArray对象
var ciphertextHex = CryptoJS.enc.Base64.parse(ciphertext);
// 解密
var decrypted = CryptoJS.AES.decrypt({
ciphertext: ciphertextHex
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
// 将解密后的数据转换为UTF-8编码的字符串
var plaintext = decrypted.toString(CryptoJS.enc.Utf8);
console.log(plaintext); // 输出:Hello, world!
```
阅读全文