Hovedproblemet med å lage et hash-passord i JavaScript er at det er enkelt å gjette. Et hash-passord er ganske enkelt en streng med tegn som hashes, eller konverteres til et unikt nummer, og deretter lagres på brukerens datamaskin. Alle som kan hash-passordet kan enkelt logge inn på brukerens konto uten å måtte huske selve passordet.
var password = ""; var salt = ""; function hashPassword(password, salt) { var hash = CryptoJS.SHA256(password + salt); return hash.toString(CryptoJS.enc.Hex); }
var passord = "";
Denne linjen lager en variabel kalt passord og setter den lik en tom streng.
var salt = "";
Denne linjen lager en variabel kalt salt og setter den lik en tom streng.
funksjon hashPassword(passord, salt) {
var hash = CryptoJS.SHA256(passord + salt);
returner hash.toString(CryptoJS.enc.Hex);
}
Denne funksjonen tar inn to parametere, passord og salt, og returnerer en hashed versjon av passordet ved å bruke SHA256-algoritmen og Hex-kodingsformatet.
Hash passord
Hash-passord er en type passord som bruker en kryptografisk hash-funksjon for å lage et unikt passord for hver bruker. En hash-funksjon tar en inngangsstreng og produserer en utdatastreng med fast lengde, kalt hash-verdien. Hash-verdien er unik for hver inndatastreng og er ikke relatert til den opprinnelige inndatastrengen.
For å opprette et hash-passord, må du først generere en kryptografisk hash av brukerens påloggingsinformasjon. Du kan gjøre dette ved å bruke hashing-algoritmen MD5 eller SHA-1, avhengig av plattformen du bruker. Deretter må du lagre hash-verdien på et sikkert sted på serveren din. Hver gang brukerne dine logger på, må de skrive inn påloggingsinformasjonen i applikasjonen din og deretter bruke hash-verdien til å generere sitt nye passord.
Arbeid med hashes
I JavaScript brukes hashes til å representere matriser. For eksempel oppretter følgende kode en rekke strenger og lagrer den i en variabel kalt myArray:
myArray = ["a", "b", "c"];
Du kan også bruke hashes til å representere andre datatyper. For eksempel oppretter følgende kode en hash som lagrer verdiene "1" og "2":
hash = { 1: "1", 2: "2" }