Jak generować losowy ciąg w JavaScript

Jak generować losowy ciąg w JavaScript

Losowe ciągi są używane do różnych celów w tworzeniu oprogramowania. Na przykład mogą być używane do kodowania identyfikatorów użytkowników, generowania haseł i konstruowania tokenów w aplikacjach. Jeśli opracowujesz program oparty na JavaScript, który potrzebuje losowych ciągów - lub innego rodzaju danych pseudo -randomych - wówczas ten artykuł jest dla Ciebie! Widzisz, generowanie losowych znaków (lub ciągów) jest łatwe dzięki odpowiednim narzędziom i technikom. Na szczęście ten artykuł obejmuje dokładnie to. Zacznijmy…

Dlaczego potrzebujemy losowych ciągów?

Losowe ciągi służą do konstruowania tokenów, identyfikatorów użytkowników i haseł w oprogramowaniu. Powiedzmy, że chcesz zbudować system logowania dla aplikacji internetowej. Musisz przypisać każdemu użytkownikowi unikalny identyfikator logowania, aby umożliwić mu logowanie się. Możesz utworzyć losowy ciąg znaków, aby działać jako identyfikator użytkownika. To samo dotyczy tokenów użytkowników, które są używane przez różne systemy. Losowe ciągi są również przydatne do generowania sprzedaży. Sól to losowy ciąg, który służy do dodania dodatkowych bezpieczeństwa do systemów logowania. Utrudnia hakerom brutalną siłę lub zalogowanie się do systemu, ponieważ muszą odgadnąć unikalną sól dla każdego użytkownika.

Sposoby generowania losowych ciągów w JavaScript

W tej sekcji omówiono cztery metody, które pozwalają generować losowy ciąg w JavaScript.

  • Utwórz niestandardową metodę generowania losowego ciągu.
  • Za pomocą matematyki.Metoda losowa () w celu wygenerowania losowego ciągu.
  • Za pomocą kryptografii.metoda getRandomValues ​​() w celu wygenerowania losowego ciągu.
  • Korzystanie z biblioteki URNG do generowania losowego ciągu - omówmy szczegółowo każdą metodę.

1. Utwórz niestandardową metodę generowania losowego ciągu

Możesz utworzyć niestandardową metodę generowania losowego ciągu. Tutaj zdefiniowaliśmy słowa, liczby i znaki specjalne. Możesz wywołać tę funkcję JavaScript w dowolnym momencie, aby wygenerować losowy ciąg

Funkcja Genrandonstring (długość) var char!@#$%^&*() '; var charlength = zwarty.długość; var result = "; for (var i = 0; i < length; i++ ) result += chars.charAt(Math.floor(Math.random() * charLength)); return result; console.log(genRandonString(12));
1234567891011funkcja GenRandonstring (długość) var chars = '[e -mail chroniony]#$%^&*()'; var charlength = zwarty.długość; var result = "; for (var i = 0; i < length; i++ ) result += chars.charAt(Math.floor(Math.random() * charLength)); return result; console.log(genRandonString(12));

2. Za pomocą matematyki.Metoda losowa () w celu wygenerowania losowego ciągu

Matematyka.losowy() Metoda zwraca liczbę pseudorandomową między 0 a 1. Ta metoda wykorzystuje bieżącą datę i godzinę jako źródło entropii. W JavaScript ciągi są reprezentowane przez sekwencję znaków między dwoma podwójnymi cytatami („”). Ponieważ struny są tylko sekwencją znaków, możemy użyć matematyki.Metoda losowa () w celu wygenerowania losowego ciągu. Spójrzmy na podstawowy przykład, w którym konstruujemy losowy ciąg za pomocą matematyki.Metoda losowa (). Napiszmy program JavaScript, który tworzy ciąg za pomocą matematyki.Metoda losowa.

var landomString = ""; RandomString += matematyka.losowy(); RandomString += matematyka.losowy(); RandomString += matematyka.losowy(); konsola.log (RandomString);
123456var landomString = ""; RandomString += matematyka.losowy(); RandomString += matematyka.losowy(); RandomString += matematyka.losowy(); konsola.log (RandomString);

Ten program tworzy losowy ciąg i rejestruje go do konsoli JavaScript. Możesz zobaczyć na zrzucie ekranu poniżej, ciąg jest całkowicie losowy.

Za pomocą kryptografii.metoda getRandomValues ​​() w celu wygenerowania losowego ciągu

Krypto.getRandomValues ​​() Metoda zwraca sekwencję pseudorandomową bajtów z kryptograficznego generatora liczb losowych. Ta metoda jest częścią JavaScript Crypto API. Rzućmy okiem na przykład, w którym używamy krypto.metoda getRandomValues ​​() do generowania losowego ciągu. Napiszmy program JavaScript, który tworzy ciąg za pomocą krypto.Metoda getRandomValues.

var landomString = ""; RandomString += Crypto.getRandomvalues ​​(16).Toostring (16); konsola.log (RandomString);
12345var landomString = ""; RandomString += Crypto.getRandomvalues ​​(16).Toostring (16); konsola.log (RandomString);

W tym programie tworzymy losowy ciąg przy użyciu krypto.metoda getRandomValues ​​() przekazując 16 jako argument. Wykonanie tego instruuje metodę zwrócenia 16 losowych bajtów. Spójrzmy na wyjście tego programu na zrzucie ekranu poniżej.

Korzystanie z biblioteki URNG do generowania losowego ciągu

Istnieje kilka bibliotek do generowania losowych danych w JavaScript. Jedną z takich biblioteki jest biblioteka uniwersalnych generatorów liczb losowych (URNG). Biblioteka może być zainstalowana z NPM lub z NPM, jeśli używasz JavaScript na zapleczu. Spójrzmy na przykład, w którym używamy biblioteki URNG, aby wygenerować losowy ciąg. Napiszmy program JavaScript, który tworzy ciąg za pomocą biblioteki URNG.

var landomString = ""; RandomString += urng.GeneraterandomString (15); konsola.log (RandomString);
123var landomString = ""; RandomString += urng.GeneraterandomString (15); konsola.log (RandomString);

W tym programie tworzymy losowy ciąg przy użyciu biblioteki URNG, przekazując 15 jako argument. Wykonanie tego instruuje bibliotekę, aby zwróciła 15 znaków. Spójrzmy na wyjście tego programu na zrzucie ekranu poniżej.

Wniosek

W tym artykule omówiliśmy, dlaczego potrzebujemy losowych ciągów i czterech różnych metod generowania ich w JavaScript. Podsumujmy wskazówki omawiane w tym artykule. Po pierwsze, pamiętaj, że losowość jest stanem niepewności. Innymi słowy, to brak jakiegokolwiek spójnego wzoru. Tak więc wszystko, co nie jest przewidywalne, jest uważane za losowe. Następnie upewnij się, że nie używasz matematyki.Random () w celu wygenerowania danych nierandomowych. Jest zaprojektowany do generowania sekwencji liczb, które są nieprzewidywalne. Nie używaj go do generowania liczb o określonym wzorze. Na koniec pamiętaj, aby zaimplementować rozwiązanie, które generuje nierepetyczne losowe ciągi przy użyciu losowego źródła danych. Wykonanie tego zapewnia, że ​​każdy ciąg jest wyjątkowy i nieprzewidywalny.