JavaScript 中加密和解密密码通常使用各种算法,如 Base64、AES、DES、RSA 等。以下是一些常见的加密和解密方法:
1. Base64
Base64 是一种编码方法,不是加密方法。如果你使用的是 Base64 编码,以下是如何解码:
```javascript
// Base64 编码的字符串
const encodedString = 'dGhpcyBpcyBhIHRlc3Q=';
// 解码
const decodedString = atob(encodedString);
console.log(decodedString); // 输出: "Hello, world!"
```
2. AES
AES 是一种对称加密算法。如果你使用的是 AES 加密,通常需要一个密钥(key)和初始化向量(IV)来解密。
```javascript
// 引入crypto模块
const crypto = require('crypto');
// 加密的密钥和IV
const key = crypto.randomBytes(32); // 32字节
const iv = crypto.randomBytes(16); // 16字节
// 加密的密文
const encrypted = '...'; // 假设这是加密后的字符串
// 创建解密器
const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
// 解密
let decrypted = decipher.update(encrypted, 'hex', 'utf8');
decrypted += decipher.final('utf8');
console.log(decrypted); // 输出: 解密后的字符串
```
3. RSA
RSA 是一种非对称加密算法。如果你使用的是 RSA 加密,通常需要一个公钥和私钥来解密。
```javascript
// 引入crypto模块
const crypto = require('crypto');
// 公钥和私钥
const publicKey = '...' // 公钥
const privateKey = '...' // 私钥
// 加密的密文
const encrypted = '...'; // 假设这是加密后的字符串
// 创建解密器
const decipher = crypto.createDecipher('rsa-oaep', privateKey);
// 解密
let decrypted = decipher.update(encrypted, 'base64', 'utf8');
decrypted += decipher.final('utf8');
console.log(decrypted); // 输出: 解密后的字符串
```
请注意,这些示例使用了 Node.js 的 `crypto` 模块。如果你在浏览器中使用 JavaScript,你可能需要使用其他库,如 `CryptoJS`。
在处理密码和其他敏感信息时,请确保使用安全的加密和解密方法,并妥善保管密钥。