Hashing dan Salting

Hashing adalah proses mengacak sebuah karakter dan mengembalikannya dalam sebuah karakter random, dan selalu sepanjang 60 karakter. Hashing membuat password menjadi aman dan tidak dapat dilihat lagi kontennya.

Semisal sesorang dapat mengakses data password di dalam database, dan menggunakan hashed password tersebut untuk login, tetap tidak akan memungkinkan. Tapi dengan semakin canggihnya masa kini, hashed password masih mungkin untuk dikembalikan menjadi bentuk aslinya. Oleh karena itu kita kenal lagi istilah Salting

Salting adalah proses menambahkan data unik kedalam proses hashing, dan akan tersimpan dalam hash tersebut. Sehingga, akan mempersulit proses reverse menjadi password aslinya. Jadi di dalam hash password terkandung password dan salt.

Untuk mengaplikasikan hal tersebut, salah satunya kita dapat menggunakan bcrypt

  1. Install bcrypt
  2. require bcrypt di user.js
  3. Menambahkan sebuah hook sebelum mongo melakukan menyimpanan data ke database
    UserSchema.pre('save', function(next) {
      var user = this;
      bcrypt.genSalt(10, function(err, salt) {
        bcrypt.hash("B4c0/\/", salt, function(err, hash) {
            if (err) {
          return next(err);
        }
        user.password = hash;
        next();
      })
    });
    
  4. Pastikan dapat berfungsi dengan baik

results matching ""

    No results matching ""