[Web Security] Create a hash salt password which can stored in DB

We cannot directly store user password in the database. 

What need to do is creating a hashed & salted string which reperstanting the user password. 

This password is not reverable. And very hard for hacker to guess what is the origial password by using Dictionary Attacks.

 

var crypto = require('crypto');


var password = "monkey";

// randomBytes: generate a salt pre user, salt should be stored with hashed password in the database
crypto.randomBytes(256, function(err, salt) {

  // pbkdf2: combine the salt the hash password algorithm, to generate a safe password
  crypto.pbkdf2(password, salt, 100000, 512, 'sha256',
    function(err, hash) {

      console.log("The result of hashing " + password + " is:\n\n" +
        hash.toString('hex') + "\n\n");

    });


});

 

posted @ 2017-08-09 20:22  Zhentiw  阅读(234)  评论(0)    收藏  举报