Comment faire de l'encodage en Base64 node.js?

N'node.js ont intégré l'encodage base64 encore?

La raison pour laquelle je pose cette question, c'est que final() de crypto ne peut sortir hexadécimal, binaire ou ascii des données. Par exemple:

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');

Selon les docs, update() peut la sortie des données codées en base64. Cependant, final() ne prend pas en charge base64. J'ai essayé et ça va casser.

Si je fais ceci:

var ciph = cipher.update(plaintext, 'utf8', 'base64');
    ciph += cipher.final('hex');

Alors que dois-je utiliser pour le décryptage? Hex ou base64?

Donc, je suis à la recherche d'une fonction pour en base64 encode mon chiffré hex de sortie.

Grâce.

  • Pour quelqu'un qui cherche ce problème dans/après 2016 cipher.final('base64') œuvres
InformationsquelleAutor murvinlai | 2011-05-31