Hashing password dengan Bcrypt dan node.js -->

Hashing password dengan Bcrypt dan node.js

Sorayakit
03 April 2017





Bagi Sobat ingin yang ingin aman menyimpan password pengguna dalam aplikasi Node.js bisa menggunakan modul bcrypt


Paket Node ini menggunakan bcrypt dari library UNIX. Pertama kali ditemukan pada tahun 1999. Hal ini memungkinkan Sobat untuk hash dan mengenkripsi data sensitif seperti password pengguna sebelum menyimpannya dalam database, intinya data yang tampak di database tidak akan mudah dibaca karena diacak sedemikian rupa. seperti berikut:

Saya masukkan pasword : qwerty





hasilnya yang tampak jika database kita dibongkar orang yang tidak bertanggung jawab adalah:

password : 'sha1Sa55 ...bla bla.... sehingga qwerty sudah tidak tampak lagi...karna sudah di bcrypt.

di depan password itu ada karakter sha1, sha1 adalah kode algoritma yang dikembangkan oleh NIST. nantinya akan ada sha1, sha2...dst ...sobat bisa browse di google ttg NIST


 

Oke mari kita membuatnya pertama kali sobat butuh instalasi modul menggunakan NPM dari nodejs. Jika aplikasi node js belum terpasang bisa ikuti link ini, jika sudah ada aplikasi node js berikut stepnya:


1.
npm install bcrypt -- save

2. Kemudian buat app script file di notepad dan simpan sebagai  app.js lalu sisipkan script berikut:


 // Require the bcrypt package

var Bcrypt = require ( 'bcrypt' ) ;
var SALT_WORK_FACTOR = 10 ;
var pass = '123456789' ;

// Create a password salt

Bcrypt. genSalt ( SALT_WORK_FACTOR , function ( err , salt ) {
if ( err ) {
return console. error ( err ) ;
}

// Salt and hash password


Bcrypt. hash ( pass , salt , function ( err , hash ) {
if ( err ) {
return console. error ( err ) ;
}
console. log ( hash ) ;

Bcrypt. compare ( pass , hash , function ( err , isMatch ) {
if ( err ) {
return console. error ( err ) ;
}
console. log ( 'do they match?' , isMatch ) ;
} ) ;
} ) ;
} ) ;

 
 
3. Kemudian jalanakan dari perintah “node app” di command node, format text kurang lebih seperti berikut:


 
$2a$10$ezsikcAtcBL6SZQNoZJ2..v7xaxyYXEkRmAyN9FqDJySXE4NWDk.O
do they match? true

 
 


Anda telah menciptakan hash password user menggunakan Bcrypt.genSalt dan Bcrypt.hash. Sobat juga bisa memasang modul hashing password ini di platform express . Semoga bermanfaat salam.. :)

ref : codeplanet