nodejs RSAOAEP256
时间: 2024-05-16 10:11:04 浏览: 238
RSA-OAEP是一种基于RSA加密算法的公钥加密标准,它使用一个随机的种子值(称为“盐”)来对明文进行填充,使加密结果更加安全。而256则表示密钥长度为256位,这意味着使用RSA-OAEP256进行加密时,需要一个至少为256位的密钥。 Node.js中提供了crypto模块,可以使用RSA-OAEP256算法对数据进行加密和解密。
具体实现方法可以参考下面的代码片段:
```javascript
const crypto = require('crypto');
// 生成RSA密钥对
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
modulusLength: 2048,
publicKeyEncoding: {
type: 'spki',
format: 'pem'
},
privateKeyEncoding: {
type: 'pkcs8',
format: 'pem',
cipher: 'aes-256-cbc',
passphrase: 'my secret passphrase'
}
});
// 加密数据
const data = 'Hello World';
const encrypted = crypto.publicEncrypt(
{
key: publicKey,
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
oaepHash: 'sha256'
},
Buffer.from(data)
);
// 解密数据
const decrypted = crypto.privateDecrypt(
{
key: privateKey,
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
oaepHash: 'sha256',
passphrase: 'my secret passphrase'
},
encrypted
);
console.log(decrypted.toString()); // 输出 "Hello World"
```
阅读全文