node.js - library - NodeJS: ¿Cómo decodificar la cadena codificada en base64 de nuevo a binario?
nodejs base64 encode (1)
A partir de Node.js v6.0.0, el uso del método del constructor ha quedado en desuso y, en su lugar, se debe usar el siguiente método para construir un nuevo búfer a partir de una cadena codificada en base64:
var b64string = /* whatever */;
var buf = Buffer.from(b64string, ''base64''); // Ta-da
Para Node.js v5.11.1 y por debajo
Construya un nuevo Buffer
y pase ''base64''
como segundo argumento:
var b64string = /* whatever */;
var buf = new Buffer(b64string, ''base64''); // Ta-da
Si quieres estar limpio, puedes verificar si existe:
if (typeof Buffer.from === "function") {
// Node 5.10+
buf = Buffer.from(b64string, ''base64''); // Ta-da
} else {
// older Node versions, now deprecated
buf = new Buffer(b64string, ''base64''); // Ta-da
}
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo hacer la codificación Base64 en node.js? 3 respuestas
Estaba implementando el hashing de contraseñas con salt, así que generé sal como binario, trocé la contraseña, codificé la contraseña en base64 y luego los guardé en la base de datos.
Ahora, cuando estoy verificando la contraseña, se supone que debo descodificar la sal en datos binarios, usarla para aplicar la contraseña provista, codificar en base64 el resultado y verificar si el resultado coincide con el de la base de datos.
El problema es que no puedo encontrar un método para descodificar la sal en datos binarios. Los codifiqué usando el método Buffer.toString pero no parece haber una función inversa.