Ratkaistu: luo hash-salasana js:ssä

Suurin ongelma JavaScript-salasanan luomisessa on, että se on helppo arvata. Hajasalasana on yksinkertaisesti merkkijono, joka tiivistetään tai muunnetaan yksilöiväksi numeroksi ja tallennetaan sitten käyttäjän tietokoneelle. Jokainen, joka tietää hash-salasanan, voi helposti kirjautua sisään käyttäjän tilille ilman, että hänen tarvitsee muistaa varsinaista salasanaa.

var password = "";
var salt = "";

function hashPassword(password, salt) {
    var hash = CryptoJS.SHA256(password + salt);
    return hash.toString(CryptoJS.enc.Hex);
}

var salasana = "";
Tämä rivi luo muuttujan nimeltä salasana ja asettaa sen yhtä suureksi kuin tyhjä merkkijono.

var suola = "";
Tämä rivi luo muuttujan nimeltä suola ja asettaa sen yhtä suureksi kuin tyhjä merkkijono.

function hashPassword(salasana, suola) {
var hash = CryptoJS.SHA256(salasana + suola);
return hash.toString(CryptoJS.enc.Hex);
}
Tämä toiminto ottaa kaksi parametria, salasanan ja suolan, ja palauttaa salasanan hajautetun version käyttämällä SHA256-algoritmia ja Hex-koodausmuotoa.

Hash salasanat

Hash-salasanat ovat salasanojen tyyppi, joka käyttää kryptografista hajautustoimintoa yksilöllisen salasanan luomiseen kullekin käyttäjälle. Hash-funktio ottaa syötemerkkijonon ja tuottaa kiinteän pituisen tulostejonon, jota kutsutaan hash-arvoksi. Hajautusarvo on yksilöllinen jokaiselle syötemerkkijonolle, eikä se liity alkuperäiseen syöttömerkkijonoon.

Hajasalasanan luomiseksi sinun on ensin luotava salaustiiviste käyttäjän kirjautumistiedoista. Voit tehdä tämän käyttämällä MD5- tai SHA-1-hajautusalgoritmia käyttämästäsi alustasta riippuen. Seuraavaksi sinun on tallennettava hash-arvo turvalliseen paikkaan palvelimellasi. Aina kun käyttäjäsi kirjautuvat sisään, heidän on syötettävä kirjautumistietonsa sovellukseesi ja käytettävä sitten hash-arvoa uuden salasanan luomiseen.

Työskentele tiivisteiden kanssa

JavaScriptissä tiivisteitä käytetään esittämään taulukoita. Esimerkiksi seuraava koodi luo merkkijonotaulukon ja tallentaa sen muuttujaan nimeltä myArray:

myArray = ["a", "b", "c"];

Voit myös käyttää tiivistettä edustamaan muita tietotyyppejä. Esimerkiksi seuraava koodi luo tiivisteen, joka tallentaa arvot "1" ja "2":

hash = { 1: "1", 2: "2" }

Related viestiä:

Jätä kommentti