Głównym problemem związanym z tworzeniem haszującego hasła w JavaScript jest to, że łatwo je odgadnąć. Hasło skrótu to po prostu ciąg znaków, który jest mieszany lub konwertowany na unikalną liczbę, a następnie przechowywany na komputerze użytkownika. Każdy, kto zna hasło skrótu, może łatwo zalogować się na konto użytkownika bez konieczności pamiętania hasła.
var password = ""; var salt = ""; function hashPassword(password, salt) { var hash = CryptoJS.SHA256(password + salt); return hash.toString(CryptoJS.enc.Hex); }
var hasło = „”;
Ta linia tworzy zmienną o nazwie hasło i ustawia ją jako równą pustemu łańcuchowi.
var sól = „”;
Ta linia tworzy zmienną o nazwie salt i ustawia ją jako równą pustemu łańcuchowi.
funkcja hashPassword(hasło, sól) {
var hash = CryptoJS.SHA256 (hasło + sól);
zwróć hash.toString(CryptoJS.enc.Hex);
}
Ta funkcja przyjmuje dwa parametry, hasło i sól, i zwraca zaszyfrowaną wersję hasła przy użyciu algorytmu SHA256 i formatu kodowania szesnastkowego.
Hashuj hasła
Hasła hashujące to rodzaj haseł, które wykorzystują kryptograficzną funkcję haszującą do utworzenia unikalnego hasła dla każdego użytkownika. Funkcja skrótu pobiera ciąg wejściowy i generuje ciąg wyjściowy o stałej długości, zwany wartością skrótu. Wartość skrótu jest unikatowa dla każdego ciągu wejściowego i nie jest powiązana z oryginalnym ciągiem wejściowym.
Aby utworzyć hasło skrótu, musisz najpierw wygenerować kryptograficzny skrót danych logowania użytkownika. Możesz to zrobić za pomocą algorytmu haszującego MD5 lub SHA-1, w zależności od używanej platformy. Następnie musisz przechowywać wartość skrótu w bezpiecznej lokalizacji na serwerze. Za każdym razem, gdy użytkownicy się logują, będą musieli wprowadzić swoje dane logowania do aplikacji, a następnie użyć wartości skrótu do wygenerowania nowego hasła.
Pracuj z haszami
W JavaScript skróty są używane do reprezentowania tablic. Na przykład poniższy kod tworzy tablicę ciągów znaków i przechowuje ją w zmiennej o nazwie myArray:
mojaTablica = [„a”, „b”, „c”];
Możesz także użyć skrótów do reprezentowania innych typów danych. Na przykład poniższy kod tworzy skrót, który przechowuje wartości „1” i „2”:
hash = { 1: „1”, 2: „2” }