最佳答案
Node.js有内置的Base64编码吗?
我问这个问题的原因是crypto
中的final()
只能输出十六进制、二进制或ASCII数据。例如:
var cipher = crypto.createCipheriv('des-ede3-cbc', encryption_key, iv);var ciph = cipher.update(plaintext, 'utf8', 'hex');ciph += cipher.final('hex');
var decipher = crypto.createDecipheriv('des-ede3-cbc', encryption_key, iv);var txt = decipher.update(ciph, 'hex', 'utf8');txt += decipher.final('utf8');
根据留档,update()
可以输出Base64编码的数据。但是,final()
不支持Base64。我试过了,它会坏的。
如果我这样做:
var ciph = cipher.update(plaintext, 'utf8', 'base64');ciph += cipher.final('hex');
那我应该用什么来解密?十六进制还是Base64?
因此,我正在寻找一个函数来对我的加密十六进制输出进行Base64编码。