前端使用非对称加密对明文密码进行加密,后端在进行解密的代码
时间: 2024-05-14 17:16:12 浏览: 191
前端使用非对称加密对明文密码进行加密,需要使用公钥进行加密,后端使用私钥进行解密。
以下是一个简单的代码示例,使用 Node.js 的 crypto 模块进行解密:
```javascript
const crypto = require('crypto');
const fs = require('fs');
// 读取私钥
const privateKey = fs.readFileSync('private_key.pem', 'utf8');
// 获取加密后的密码(假设为base64编码的字符串)
const encryptedPassword = '...';
// 使用私钥进行解密
const decryptedPassword = crypto.privateDecrypt(
{
key: privateKey,
padding: crypto.constants.RSA_PKCS1_PADDING,
},
Buffer.from(encryptedPassword, 'base64')
);
console.log(decryptedPassword.toString());
```
需要注意的是,私钥应该妥善保管,不应该被泄漏。在实际应用中,可以将私钥存储在安全的地方,如服务器环境变量中,并且需要在代码中使用相应的方法来读取私钥。
阅读全文