A fő probléma a hash jelszó JavaScriptben történő létrehozásával az, hogy könnyen kitalálható. A kivonatjelszó egyszerűen egy karaktersorozat, amelyet kivonatolnak, vagy egyedi számmá alakítanak át, majd eltárolják a felhasználó számítógépén. Bárki, aki ismeri a hash jelszót, könnyen bejelentkezhet a felhasználó fiókjába anélkül, hogy emlékeznie kellene a tényleges jelszóra.
var password = ""; var salt = ""; function hashPassword(password, salt) { var hash = CryptoJS.SHA256(password + salt); return hash.toString(CryptoJS.enc.Hex); }
var jelszó = "";
Ez a sor létrehoz egy jelszó nevű változót, és egyenlőre állítja egy üres karakterlánccal.
var só = "";
Ez a sor létrehoz egy só nevű változót, és egyenlővé teszi egy üres karakterlánccal.
function hashPassword(jelszó, só) {
var hash = CryptoJS.SHA256(jelszó + só);
return hash.toString(CryptoJS.enc.Hex);
}
Ez a függvény két paramétert vesz fel, a jelszót és a sót, és visszaadja a jelszó kivonatolt verzióját az SHA256 algoritmus és a Hex kódolási formátum használatával.
Hash jelszavak
A hash jelszavak olyan jelszavak, amelyek kriptográfiai hash funkciót használnak, hogy minden felhasználó számára egyedi jelszót hozzanak létre. A hash függvény egy bemeneti karakterláncot vesz fel, és egy rögzített hosszúságú kimeneti karakterláncot állít elő, amelyet hash értéknek neveznek. A hash értéke minden bemeneti karakterlánc esetében egyedi, és nem kapcsolódik az eredeti bemeneti karakterlánchoz.
Kivonatjelszó létrehozásához először létre kell hoznia egy kriptográfiai hash-t a felhasználó bejelentkezési adataiból. Ezt az MD5 vagy SHA-1 kivonatolási algoritmussal teheti meg, a használt platformtól függően. Ezután a hash értéket egy biztonságos helyen kell tárolnia a szerveren. Amikor a felhasználók bejelentkeznek, meg kell adniuk bejelentkezési hitelesítő adataikat az alkalmazásban, majd a thehash értéket kell használniuk az új jelszavak létrehozásához.
Dolgozzon kivonatokkal
A JavaScriptben a hash-eket a tömbök ábrázolására használják. Például a következő kód karakterláncok tömbjét hoz létre, és egy myArray nevű változóban tárolja:
myArray = ["a", "b", "c"];
Más adattípusok megjelenítésére is használhat kivonatokat. Például a következő kód létrehoz egy hash-t, amely az „1” és a „2” értékeket tárolja:
hash = { 1: "1", 2: "2" }