Node.js ha ancora la codifica Base64 integrata?
Il motivo per cui chiedo questo è che final()
da crypto
può solo emettere dati esadecimali, binari o ascii. Per esempio:
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');
Secondo i documenti, update()
può generare dati codificati in base64. Tuttavia, final()
non supporta base64. Ho provato e si romperà.
Se lo faccio:
var ciph = cipher.update(plaintext, 'utf8', 'base64');
ciph += cipher.final('hex');
Quindi cosa dovrei usare per la decrittazione? Esadecimale o base64?
Pertanto, sto cercando una funzione per codificare base64 il mio output esadecimale crittografato.
cipher.final('base64')
funziona