online nodejs node encrypt crypto createhmac createcipheriv javascript node.js cryptography

javascript - encrypt - NodeJS-SHA256 Contraseña de cifrado



sha256 js (1)

Si quería generar hashes sha256 , tendría que eliminar las propiedades de iteraciones y longitud, ya que son específicas de pbkdf2 . Luego usaría crypto.createHash() que usa OpenSSL para generar hashes. Dicho esto, los tipos de hash que puede generar dependen de la versión de OpenSSL que haya instalado.

var crypto = require(''crypto''); var hash = crypto.createHash(''sha256'').update(pwd).digest(''base64'');

Su implementación específica podría verse así:

var crypto = require(''crypto''); module.exports = function(pwd, fn) { var hash = crypto.createHash(''sha256'').update(pwd).digest(''base64''); fn(null, hash); };

Actualmente estoy aprendiendo sobre el cifrado y la seguridad de contraseñas en NodeJS. Estoy trabajando con un ejemplo actual que actualmente usa PBKDF2, me gustaría cambiar esto para usar SHA256. ¿Es esto posible y / o tiene sentido? ¿Cómo lo haría?

var crypto = require(''crypto''); var len = 128; var iterations = 13000; module.exports = function (pwd, salt, fn) { if (3 == arguments.length) { crypto.pbkdf2(pwd, salt, iterations, len, fn); } else { fn = salt; crypto.randomBytes(len, function(err, salt){ if (err) return fn(err); salt = salt.toString(''base64''); crypto.pbkdf2(pwd, salt, iterations, len, function(err, hash){ if (err) return fn(err); fn(null, salt, hash); }); }); } };