Glavni problem kod stvaranja hash lozinke u JavaScriptu je to što ju je lako pogoditi. Hash lozinka jednostavno je niz znakova koji se raspršuje ili pretvara u jedinstveni broj, a zatim pohranjuje na korisničkom računalu. Svatko tko zna hash lozinku može se lako prijaviti na korisnički račun bez potrebe da se sjeća prave lozinke.
var password = ""; var salt = ""; function hashPassword(password, salt) { var hash = CryptoJS.SHA256(password + salt); return hash.toString(CryptoJS.enc.Hex); }
var lozinka = “”;
Ovaj redak stvara varijablu koja se zove lozinka i postavlja je kao prazan niz.
var sol = “”;
Ovaj redak stvara varijablu pod nazivom sol i postavlja je jednakom praznom nizu.
funkcija hashPassword(lozinka, sol) {
var hash = CryptoJS.SHA256(lozinka + sol);
return hash.toString(CryptoJS.enc.Hex);
}
Ova funkcija uzima dva parametra, lozinku i sol, i vraća raspršenu verziju lozinke pomoću algoritma SHA256 i heksadecimalnog formata kodiranja.
Hash lozinke
Hash lozinke su vrsta lozinki koja koristi kriptografsku hash funkciju za stvaranje jedinstvene lozinke za svakog korisnika. Raspršivačka funkcija uzima ulazni niz i proizvodi izlazni niz fiksne duljine koji se naziva hash vrijednost. Vrijednost raspršivanja jedinstvena je za svaki ulazni niz i nije povezana s izvornim ulaznim nizom.
Da biste stvorili hash lozinku, prvo trebate generirati kriptografski hash vjerodajnica za prijavu vašeg korisnika. To možete učiniti pomoću algoritma za raspršivanje MD5 ili SHA-1, ovisno o platformi koju koristite. Zatim trebate pohraniti hash vrijednost na sigurno mjesto na vašem poslužitelju. Kad god se vaši korisnici prijave, morat će unijeti svoje vjerodajnice za prijavu u vašu aplikaciju, a zatim koristiti hash vrijednost za generiranje svoje nove lozinke.
Radite s hashovima
U JavaScriptu se hashovi koriste za predstavljanje nizova. Na primjer, sljedeći kod stvara niz nizova i pohranjuje ga u varijablu pod nazivom myArray:
moj niz = [“a”, “b”, “c”];
Također možete koristiti hashove za predstavljanje drugih vrsta podataka. Na primjer, sljedeći kod stvara hash koji pohranjuje vrijednosti "1" i "2":
hash = { 1: “1”, 2: “2” }