javascript 加解密
时间: 2023-09-17 21:08:36 浏览: 79
javascript加解密
JavaScript 可以使用多种加解密算法,以下是一些常用的方法:
1. Base64 编码/解码
Base64 是一种将二进制数据编码为 ASCII 字符的方法,通常用于在网络上传输数据。JavaScript 中可以使用 `btoa()` 方法进行编码,使用 `atob()` 方法进行解码。
示例:
```javascript
const str = 'Hello World!';
const encodedStr = btoa(str); // 编码为 "SGVsbG8gV29ybGQh"
const decodedStr = atob(encodedStr); // 解码为 "Hello World!"
```
2. MD5 加密
MD5 是一种常见的哈希算法,可以将任意长度的数据转换为固定长度的摘要。JavaScript 中可以使用第三方库(如 crypto-js)进行 MD5 加密。
示例:
```javascript
const CryptoJS = require('crypto-js');
const str = 'Hello World!';
const hash = CryptoJS.MD5(str).toString(); // 加密为 "b10a8db164e0754105b7a99be72e3fe5"
```
3. AES 加密/解密
AES 是一种常见的对称加密算法,可以使用同一个密钥进行加密和解密。JavaScript 中可以使用第三方库(如 crypto-js)进行 AES 加密和解密。
示例:
```javascript
const CryptoJS = require('crypto-js');
const key = CryptoJS.enc.Utf8.parse('1234567890123456'); // 密钥需为 16、24 或 32 个字符
const plaintext = 'Hello World!';
const ciphertext = CryptoJS.AES.encrypt(plaintext, key, {
iv: key, // 初始向量需为密钥相同的值
}).toString(); // 加密为 "U2FsdGVkX19oY3FAdlO5JwT5ys7YBz/64j9K9t9g8Ls="
const decryptedText = CryptoJS.AES.decrypt(ciphertext, key, {
iv: key,
}).toString(CryptoJS.enc.Utf8); // 解密为 "Hello World!"
```
注意:以上示例仅供参考,请勿将加解密算法用于安全性要求较高的场景,以免造成安全问题。
阅读全文