node.jsにはbase64エンコードが組み込まれていますか?
私がこれを尋ねる理由はfinal()
、crypto
は16進数、バイナリ、または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');
次に、復号化に何を使用すればよいですか?16進数またはbase64?
したがって、暗号化された16進数出力をbase64エンコードする関数を探しています。
cipher.final('base64')
作品