Räsi (inglise keeles hash) on digitaalne sõrmejälg, mis on matemaatiliselt tuletatud allkirjastatava dokumendi bitijadast.
Räsifunktsioon (ingl. hash function) on matemaatiline funktsioon, mis kujutab väärtusi suuremast (või lõpmatust) hulgast fikseeritud väiksema võimsusega lõplikku hulka.
Lisa sinna järgnev kood:
Ava enda koodiredaktor
Tee uus fail nimega generateHash.js
const bcrypt = require('bcrypt');
const myPassword ='1VasjaPupkin1';
console.time('Time to generate salt');
const salt = bcrypt.genSaltSync(10);
console.log('Time to generate salt');
console.time('Time to generate hash');
const hashedPassword = bcrypt.hashSync(myPassword, salt);
console.log(myPassword+ ' is your password & this is your password after hashing it: '+ hashedPassword);
console.timeEnd('Time to generate hash');
siis terminalis paigaldame bcrypt käsuga: npm install bcrypt

määrame salasõna (2 rida) ja käivitame generateHash.js (kiirklahv: Ctrl + Shift + F10):

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.