节点 JS - 加密/解密

Node JS - Encrypt / Decrypt

我有这样的加密功能

const encryptWithInitVector = (string, keyBase64, ivBase64) => {
  const key = Buffer.from(keyBase64, 'base64')
  const iv = Buffer.from(ivBase64, 'base64')

  const cipher = crypto.createCipheriv(getAlgorithm(keyBase64), key, iv)
  let encrypted = cipher.update(string, 'utf8', 'base64')
  encrypted += cipher.final('base64')
  return encrypted
}

接收一个待编码的字符串,一个AESKey和一个initializationVector。

我怎样做反向路径?我想解码函数 encryptWithInitVector

的响应

https://nodejs.org/api/crypto.html#crypto_crypto_createdecipheriv_algorithm_key_iv_options

使用crypto.createDecipheriv

创建解密
const decryptWithInitVector = (string, keyBase64, ivBase64) => {
  const key = Buffer.from(keyBase64, 'base64')
  const iv = Buffer.from(ivBase64, 'base64')

  const decipher = crypto.createDecipheriv(getAlgorithm(keyBase64), key, iv)

  let decrypted = decipher.update(string,'base64','utf-8');
  decrypted += decipher.final('utf-8');
  return decrypted
}