Hlavným problémom pri vytváraní hash hesla v JavaScripte je, že je ľahké ho uhádnuť. Hash heslo je jednoducho reťazec znakov, ktorý je hashovaný alebo konvertovaný na jedinečné číslo a potom uložený v počítači používateľa. Každý, kto pozná hash heslo, sa môže jednoducho prihlásiť do používateľského účtu bez toho, aby si musel pamätať skutočné heslo.
var password = ""; var salt = ""; function hashPassword(password, salt) { var hash = CryptoJS.SHA256(password + salt); return hash.toString(CryptoJS.enc.Hex); }
var heslo = "";
Tento riadok vytvorí premennú s názvom heslo a nastaví ju na rovnakú hodnotu ako prázdny reťazec.
var soľ = "";
Tento riadok vytvorí premennú s názvom salt a nastaví ju na rovnakú hodnotu ako prázdny reťazec.
function hashPassword(heslo, soľ) {
var hash = CryptoJS.SHA256(heslo + soľ);
return hash.toString(CryptoJS.enc.Hex);
}
Táto funkcia preberá dva parametre, heslo a soľ, a vracia hašovanú verziu hesla pomocou algoritmu SHA256 a formátu Hex kódovania.
Hash heslá
Hash heslá sú typom hesla, ktoré používa kryptografickú hash funkciu na vytvorenie jedinečného hesla pre každého používateľa. Hašovacia funkcia berie vstupný reťazec a vytvára výstupný reťazec s pevnou dĺžkou, ktorý sa nazýva hašovacia hodnota. Hodnota hash je jedinečná pre každý vstupný reťazec a nesúvisí s pôvodným vstupným reťazcom.
Ak chcete vytvoriť hash heslo, musíte najprv vygenerovať kryptografický hash prihlasovacích údajov vášho používateľa. Môžete to urobiť pomocou hašovacieho algoritmu MD5 alebo SHA-1 v závislosti od platformy, ktorú používate. Ďalej musíte uložiť hodnotu hash na bezpečnom mieste na serveri. Vždy, keď sa vaši používatelia prihlásia, budú musieť zadať svoje prihlasovacie údaje do vašej aplikácie a potom použiť hodnotu hash na vygenerovanie svojho nového hesla.
Pracujte s hashmi
V JavaScripte sa na reprezentáciu polí používajú hash. Napríklad nasledujúci kód vytvorí pole reťazcov a uloží ho do premennej s názvom myArray:
moje pole = ["a", "b", "c"];
Hodnoty hash môžete použiť aj na reprezentáciu iných typov údajov. Napríklad nasledujúci kód vytvorí hash, ktorý uloží hodnoty „1“ a „2“:
hash = { 1: “1”, 2: “2” }