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