Glavni problem sa kreiranjem hash lozinke u JavaScript-u je taj što je lako pogoditi. Haš lozinka je jednostavno niz znakova koji se hešira ili pretvara u jedinstveni broj, a zatim pohranjuje na računar korisnika. Svako ko zna hash lozinku može se lako prijaviti na korisnički račun bez potrebe da pamti stvarnu lozinku.
var password = ""; var salt = ""; function hashPassword(password, salt) { var hash = CryptoJS.SHA256(password + salt); return hash.toString(CryptoJS.enc.Hex); }
var lozinka = “”;
Ova linija kreira varijablu koja se zove lozinka i postavlja je kao prazan niz.
var salt = “”;
Ova linija kreira varijablu koja se zove sol i postavlja je kao prazan niz.
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 heširanu verziju lozinke koristeći SHA256 algoritam i hex format kodiranja.
Hash lozinke
Haš lozinke su vrsta lozinke koja koristi kriptografsku hash funkciju za kreiranje jedinstvene lozinke za svakog korisnika. Haš funkcija uzima ulazni niz i proizvodi izlazni niz fiksne dužine, nazvan hash vrijednost. Heš vrijednost je jedinstvena za svaki ulazni niz i nije povezana s originalnim ulaznim nizom.
Da biste kreirali hash lozinku, prvo morate generirati kriptografski hash vjerodajnica za prijavu vašeg korisnika. To možete učiniti korištenjem algoritma za heširanje MD5 ili SHA-1, ovisno o platformi koju koristite. Zatim morate pohraniti hash vrijednost na bezbednu lokaciju na vašem serveru. Kad god se vaši korisnici prijave, morat će unijeti svoje vjerodajnice za prijavu u vašu aplikaciju, a zatim koristiti heš vrijednost za generiranje nove lozinke.
Radite sa hešovima
U JavaScript-u se hešovi koriste za predstavljanje nizova. Na primjer, sljedeći kod kreira niz stringova i pohranjuje ga u varijablu pod nazivom myArray:
myArray = [“a”, “b”, “c”];
Također možete koristiti hashove za predstavljanje drugih tipova podataka. Na primjer, sljedeći kod kreira hash koji pohranjuje vrijednosti “1” i “2”:
hash = { 1: “1”, 2: “2” }