Wyjaśnienie
Jak działa Generator liczb losowych
Generator liczb losowych tworzy liczby całkowite z dowolnie wybieranego zakresu. Decydujesz, czy liczby mogą się powtarzać (losowanie ze zwracaniem/bez) i jak sortowane jest wyjście.
Granice są wewnętrznie porządkowane i zawężane do zawartych w nich liczb całkowitych. Równe granice całkowite zawsze dają tę samą jedyną możliwą wartość. Zakresy ujemne są również obsługiwane. Bez duplikatów niemożliwa ilość jest widocznie ograniczana do wielkości zakresu.
Separator określa, jak liczby są rozdzielane przy kopiowaniu — przydatne do importu do Excela, plików CSV lub innych programów.
Typowe błędy
- Używanie pseudolosowości do kryptografii: Math.random jest przewidywalny i nieodpowiedni do celów bezpieczeństwa. Do haseł, tokenów lub kluczy kryptograficznych używaj crypto.getRandomValues().
- Odczytywanie pojedynczego wyniku jako testu jakości: Małe sekwencje nie dowodzą ani równomiernego rozkładu, ani jego braku; to narzędzie nie przeprowadza żadnego statystycznego testu jakości.
- Rozumienie granic dziesiętnych jako wyjścia dziesiętnego: Generator zwraca wyłącznie liczby całkowite i zaokrągla dolną granicę w górę, a górną w dół.
- Oczekiwanie odtwarzalności: Bez wartości ziarna wyniki różnią się przy każdym wywołaniu. Do odtwarzalnych eksperymentów używaj udokumentowanego generatora z ziarnem.
Ograniczenia tego narzędzia
- Używa Math.random — nie zastępuje kryptograficznie bezpiecznej losowości w zastosowaniach bezpieczeństwa.
- Tylko wartości całkowite — bez liczb zmiennoprzecinkowych ani rozkładów normalnych.
- Nie można ustawić wartości ziarna — wyniki nie są odtwarzalne.
- Maksymalnie 500 liczb na przebieg — do większych zbiorów danych używaj dedykowanych narzędzi.
Źródła
- NIST SP 800-90A: Recommendation for Random Number Generation Using Deterministic Random Bit Generators (DRBG). Standard dla kryptograficznych generatorów liczb losowych.
- ECMAScript Specification: Math.random() — zwraca liczby pseudolosowe o w przybliżeniu równomiernym rozkładzie w zakresie [0, 1).