kutombawewe.net

Crittografia Node.js delle password

Attualmente sto usando il seguente per la crittografia delle password:

var pass_shasum = crypto.createHash('sha256').update(req.body.password).digest('hex');

Potresti suggerire dei miglioramenti per rendere il progetto più sicuro?

37
alditis

bcrypt può anche essere chiamato in modo sincrono. Esempio di coffeescript:

bcrypt = require('bcrypt')

encryptionUtil = 
    encryptPassword: (password, salt) ->
        salt ?= bcrypt.genSaltSync()
        encryptedPassword = bcrypt.hashSync(password, salt)
        {salt, encryptedPassword}

    comparePassword: (password, salt, encryptedPasswordToCompareTo) ->
        {encryptedPassword} = @encryptPassword(password, salt)
        encryptedPassword == encryptedPasswordToCompareTo

module.exports = encryptionUtil
4
jazeee

Inoltre c'è il modulo bcrypt-nodejs per il nodo. https://github.com/shaneGirish/bcrypt-nodejs

In precedenza ho usato già menzionato qui il modulo bcrypt, ma cado nei problemi su win7 x64. D'altra parte bcrypt-nodejs è pura implementazione JS di bcrypt e non ha alcuna dipendenza.

4

È possibile utilizzare il pacchetto bcrypt-js per crittografare la password.

  1. Prova npm i bcryptjs
  2. var bcrypt = require ('bcryptjs') in alto.
  3. Per cancellare una password:

    bcrypt.genSalt(10, function(err, salt) { bcrypt.hash("B4c0/\/", salt, function(err, hash) { // Store hash in your password DB. }); });

  4. Per controllare la tua password,
    // Load hash from your password DB. bcrypt.compare("B4c0/\/", hash, function(err, res) { // res === true });

Puoi visitare https://www.npmjs.com/package/bcryptjs per maggiori informazioni su bcryptjs.

0
Anand Mainali