Turvaline räsi on teatud tüüpi krüptograafiline hash-funktsioon, mis on loodud nii, et see on turvaline ja vastupidav erinevat tüüpi rünnakutele. See võtab vastu mis tahes suurusega sisendandmed ja toodab fikseeritud suurusega tähemärkide jada, mida nimetatakse sõnumi hälbeks ja mis identifitseerib sisendandmed üheselt.
Harjutus
- Ava enda koodiredaktor
- Tee uus fail nimega
generateHash.js
- Lisa sinna järgnev kood:

- Paigaldada bcrypt käsuga
npm install bcrypt
- Anna real 2 muutuja
myPassword
väärtuseks mingi tekst, mis on sinu parooliks - Käivita fail parem hiireklõps faili sees ning Run ‘generateHash.js või kiirklahviga Ctrl + Shift + F10
- Muuda
genSaltSync
parameetris rounde ning vaata, mis juhtub

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 parameeterrounds
(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.