使用Typescript实现对称加密的步骤

流程图

flowchart TD
    A(生成密钥对) --> B(加密)
    B --> C(解密)

步骤

  1. 生成密钥对
// 生成密钥对
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa',{
  modulusLength: 4096,
  publicKeyEncoding: {
    type: 'spki',
    format: 'pem'
  },
  privateKeyEncoding: {
    type: 'pkcs8',
    format: 'pem'
  }
});
  1. 加密
// 加密
const encryptedData = crypto.publicEncrypt(
  {
    key: publicKey,
    padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
    oaepHash: "sha256",
  },
  Buffer.from('Hello World', 'utf8')
).toString('base64');
  1. 解密
// 解密
const decryptedData = crypto.privateDecrypt(
  {
    key: privateKey,
    padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
    oaepHash: "sha256",
  },
  Buffer.from(encryptedData, 'base64')
).toString('utf8');

结论

通过以上步骤,你可以在Typescript中实现对称加密。记得保护好生成的密钥对,不要泄露给其他人。希望这篇文章对你有所帮助,加油!