H. 12 Kuidas genereerida turvaline räsi?

1. Ava enda koodiredaktor

2. Tee uus fail nimega generateHash.js

3. Lisa sinna järgnev kood:

const bcrypt = require('bcrypt')

const mypassword='test123';


console.time('Time to generate salt');
const salt= bcrypt.genSaltSync(10);
console.log("This is your salt: "+salt);
console.timeEnd('Time to generate salt');


console.time('Time to generate hash');
const hashedpassword= bcrypt.hashSync(mypassword, 10);

console.log(mypassword+'is your password and this is your' +
    'password after hashing it: ' + hashedpassword);
console.timeEnd('Time to generate hash');

4. Paigaldada bcrypt käsuga npm install bcrypt

5. Anna real 2 muutuja myPassword väärtuseks mingi tekst, mis on sinu parooliks

6. Käivita fail parem hiireklõps faili sees ning Run ‘generateHash.js või kiirklahviga Ctrl + Shift + F10

7. Muuda genSaltSync parameetris rounde ning vaata, mis juhtu

const hashedpassword= bcrypt.hashSync(mypassword, 15);

Seletus

  • Real 1 laaditakse sisse bcrypt-i, mida kasutatakse paroolide krüpteerimiseks
  • Real 5 loob funktsioon genSaltSync soola, mida kasutame real 10 räsi loomiseks. Funktsiooni sees parameeter rounds  (voorud) tähendab tegelikult kulutegurit. Kulutegur kontrollib, kui palju aega kulub ühe räsi arvutamiseks. Mida suurem on kulufaktor, seda rohkem on räsi voorusid. Vaikimisi on voorude arv 10, mis võtab kuskil 0,5 – 1 sekundit aega. Voorude arv 20 võib aga võtta juba ligi terve minuti aega.
  • Real 10 loob funktsioon hashSync räsi, koos soolaga (mille genereerisime real 5).

console.time ja console.timeEnd abil mõõdame funktsioonide aega. console.time ja console.timeEnd on paaris ning neil peab olema sama sisu (label), et leida üles paariline, kus algab või lõpeb aja mõõtmine.

Leave a Reply

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga