Czym jest to narzędzie?
Generator losowych liter wybiera jedną lub więcej liter z 26-literowego alfabetu angielskiego w taki sposób, że każda litera ma równą, nieobciążoną szansę wyboru za każdym razem. Jakość tej losowości zależy całkowicie od tego, jakie źródło liczb losowych stoi za nią: naiwna implementacja korzystająca z `Math.random()` w JavaScript jest generatorem pseudolosowym, niezaprojektowanym do odporności na przewidywalność, podczas gdy `crypto.getRandomValues()` — zdefiniowana w W3C Web Cryptography API — opiera się na kryptograficznie bezpiecznym źródle losowości Twojego systemu operacyjnego.
To narzędzie korzysta z `crypto.getRandomValues()` dla każdej generowanej litery — tego samego podejścia, jakie stosuje [Generator Haseł](/password-generator/) tej strony — zobacz nasze [porównanie testujące, które popularne narzędzia rzeczywiście korzystają z bezpiecznego źródła losowości](/blog/online-password-generators-math-random-vs-crypto/), aby dowiedzieć się, dlaczego ta różnica ma znaczenie nawet przy czymś tak prostym jak wybór litery.
Opcja "bez powtórzeń" wykonuje przetasowanie w stylu Fishera–Yatesa dostępnej puli liter i losuje z niej bez zwracania, gwarantując, że każda litera w wyniku jest unikalna — przydatne wszędzie tam, gdzie powtórzona litera byłaby problemem, na przykład przy przypisywaniu unikalnych, jednoliterowych kodów.
Dlaczego warto go używać?
- Wybieraj litery na zajęcia szkolne, do gier (np. przełamywacz lodów z losową literą lub gra słowna) albo losowania w sposób sprawiedliwy.
- Generuj unikalne, jednoliterowe identyfikatory lub kody bez przypadkowego powtórzenia.
- Otrzymuj naprawdę nieobciążoną losową literę zamiast polegać na nieświadomych preferencjach literowych danej osoby.
- Wybierz wielkie, małe lub mieszane litery w zależności od potrzeb.
- 100% lokalnie i kryptograficznie losowo: wszystko działa w Twojej przeglądarce za pomocą crypto.getRandomValues(), a nic nie jest wysyłane na serwer.
Jak używać
- Ustaw liczbę liter, jakiej potrzebujesz (od 1 do 100).
- Wybierz wielkość liter: wielkie, małe lub mieszane.
- Włącz "Bez powtórzeń", jeśli potrzebujesz, aby każda litera w wyniku różniła się od pozostałych.
- Kliknij "Generuj", aby uzyskać wynik, a następnie kliknij "Kopiuj", aby skopiować litery do schowka.
Przykład
Wejście
Liczba: 5, Wielkość liter: Wielkie, Bez powtórzeń: włączoneWynik
Q, F, B, X, MKażde uruchomienie daje inny losowy wynik — to jest po prostu jeden przykładowy wynik z włączoną opcją "bez powtórzeń", więc wszystkie pięć liter jest gwarantowanie różnych.
Math.random() a crypto.getRandomValues() przy wyborze liter
W przypadku zwykłej gry różnica jest niewidoczna. Tam, gdzie przewidywalność miałaby rzeczywiście znaczenie, tak nie jest.
| Właściwość | Math.random() | crypto.getRandomValues() |
|---|---|---|
| Cel projektowy | Szybkość i rozkład statystyczny | Nieprzewidywalność, odporność na przewidywanie |
| Odpowiedni do zastosowań wrażliwych na bezpieczeństwo | Nie — sama dokumentacja MDN mówi to wprost | Tak — oparty na CSPRNG systemu operacyjnego |
| Używany przez to narzędzie | Nie | Tak, dla każdej generowanej litery |
Powiązane narzędzia
Aby skorzystać z innych generatorów losowych, wypróbuj te narzędzia.
→ Generator Losowych Liczb · Generator Haseł · Generator Nazw Fantasy
Najczęściej zadawane pytania
Czy to naprawdę losowe, czy tylko Math.random()?
Wykorzystuje crypto.getRandomValues(), kryptograficznie bezpieczne źródło liczb losowych z Web Cryptography API, oparte na systemie operacyjnym — a nie słabszy generator pseudolosowy Math.random(), którego wiele podobnych narzędzi używa bez uprzedzenia. Zobacz nasze przetestowane porównanie, które popularne narzędzia generujące rzeczywiście korzystają z bezpiecznego źródła losowości, aby dowiedzieć się więcej o tym, dlaczego to ma znaczenie.
Co robi opcja "bez powtórzeń"?
Po jej włączeniu narzędzie losuje litery bez zwracania z dostępnej puli (26 liter dla jednej wielkości liter, 52 dla mieszanej), więc każda litera w wyniku jest gwarantowanie różna od każdej innej litery w tym samym wyniku. Bez niej każda litera jest wybierana niezależnie i powtórzenia są możliwe, dokładnie jak przy wielokrotnym rzucie kostką.
Jaka jest maksymalna liczba unikalnych liter, które mogę wygenerować?
26 w trybie tylko wielkich lub tylko małych liter, albo 52 przy mieszanych literach (ponieważ wielka i mała wersja tej samej litery liczą się jako różne wyniki). Jeśli poprosisz o więcej przy włączonej opcji "bez powtórzeń", liczba zostanie ograniczona do rozmiaru puli.
Czy mogę wygenerować litery w trybie mieszanym, gdzie ta sama litera pojawia się zarówno jako wielka, jak i mała?
Tak — w trybie mieszanym z wyłączoną opcją "bez powtórzeń" nic nie zapobiega temu, aby w tym samym wyniku pojawiły się zarówno "A", jak i "a", ponieważ są generowane niezależnie. Przy włączonej opcji "bez powtórzeń" i wybranym trybie mieszanym są one traktowane jako dwa osobne elementy puli, więc obie nadal mogą się pojawić, ale nie więcej niż raz każda.
Czy korzystanie z tego narzędzia jest śledzone lub gdzieś wysyłane?
Nie. Całe generowanie losowe odbywa się całkowicie po stronie klienta, w Twojej przeglądarce, za pomocą Web Cryptography API. Nic nie jest przesyłane ani rejestrowane.