Po kliknięciu Generuj przeglądarka uruchamia pseudolosowy generator liczb (PRNG, ang. Pseudorandom Number Generator). Nazwa brzmi podejrzanie, ale takie generatory stoją za grami komputerowymi, symulacjami naukowymi i większością programów, które potrzebują losowych wartości.
PRNG wylicza kolejne liczby ze wzoru matematycznego. Zaczyna od wartości startowej, zwanej ziarnem (ang. seed), a każda następna wartość wynika z poprzedniej, choć wygląda na przypadkową. Prawdziwe generatory losowe (TRNG, ang. True Random Number Generator) działają inaczej: czerpią entropię ze zjawisk fizycznych, na przykład z szumu termicznego układów elektronicznych. Ich wyników nie przewidzi nawet ten, kto zna algorytm.
Ten generator używa funkcji Math.random() z silnika JavaScriptu w przeglądarce. Nowoczesne przeglądarki implementują ją algorytmami o dużym okresie i równomiernym rozkładzie, więc każda liczba z zakresu ma takie samo prawdopodobieństwo wylosowania. Kolejne losowania są od siebie niezależne.
Obliczenia wykonuje przeglądarka na Twoim urządzeniu. Wpisane parametry ani wylosowane wartości nie trafiają na serwer.
Do gier, nauki, symulacji i losowań konkursowych Math.random() w zupełności wystarcza. W kryptografii potrzebny jest osobny mechanizm, crypto.getRandomValues(), który korzysta z systemowego źródła entropii.