使用Typescript实现对称加密的步骤
流程图
flowchart TD
A(生成密钥对) --> B(加密)
B --> C(解密)
步骤
- 生成密钥对
// 生成密钥对
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa',{
modulusLength: 4096,
publicKeyEncoding: {
type: 'spki',
format: 'pem'
},
privateKeyEncoding: {
type: 'pkcs8',
format: 'pem'
}
});
- 加密
// 加密
const encryptedData = crypto.publicEncrypt(
{
key: publicKey,
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
oaepHash: "sha256",
},
Buffer.from('Hello World', 'utf8')
).toString('base64');
- 解密
// 解密
const decryptedData = crypto.privateDecrypt(
{
key: privateKey,
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
oaepHash: "sha256",
},
Buffer.from(encryptedData, 'base64')
).toString('utf8');
结论
通过以上步骤,你可以在Typescript中实现对称加密。记得保护好生成的密钥对,不要泄露给其他人。希望这篇文章对你有所帮助,加油!