Losowy ciąg alfanumeryczny
Domyślnie: wielkie litery, małe litery i cyfry (A-Z, a-z, 0-9), razem 62 znaki. Działa niemal wszędzie, w adresach URL, nazwach plików, bazach danych i plikach konfiguracyjnych, bez żadnego escapowania.
Potrzebujesz losowego ciągu na klucz API, sekret JWT, kod rabatowy albo dane testowe? Wybierz długość i znaki, a potem skopiuj wynik. Jeden ciąg albo do 1 000 naraz.
Ciągi powstają bezpośrednio w twojej przeglądarce za pomocą bezpiecznego generatora liczb losowych i nigdzie nie są wysyłane.
Wynik
Im dłuższy ciąg i im więcej rodzajów znaków zawiera, tym trudniej go odgadnąć. Te ustawienia sprawdzą się w najczęstszych zastosowaniach.
| Zastosowanie | Ustawienia | Losowość |
|---|---|---|
| Sekret JWT (HS256) | 43 litery i cyfry albo 64 znaki hex | 256 bitów |
| Klucz API lub token dostępu | 32 litery i cyfry | 190 bitów |
| Identyfikator sesji lub token CSRF | 32 litery i cyfry | 190 bitów |
| Kod rabatowy lub zaproszenie | 8 do 12 wielkich liter i cyfr bez podobnych znaków | 40 do 60 bitów |
| Nazwa pliku lub klucz cache | 16 małych liter i cyfr | 82 bity |
Do haseł do kont lepiej nadaje się generator haseł. Tworzy też frazy hasłowe i kody PIN oraz pokazuje, jak silne jest każde hasło.
Szukasz raczej losowych słów albo zdań? Użyj generatora Lorem Ipsum.
Generator zaczyna od liter i cyfr. Włącz lub wyłącz znaki zależnie od tego, gdzie użyjesz ciągu.
Domyślnie: wielkie litery, małe litery i cyfry (A-Z, a-z, 0-9), razem 62 znaki. Działa niemal wszędzie, w adresach URL, nazwach plików, bazach danych i plikach konfiguracyjnych, bez żadnego escapowania.
Włącz symbole, a dojdą znaki !#$%&()*+,-./:;<=>?@[]^_{}~. Każdy znak ma wtedy więcej możliwości, więc ta sama długość daje więcej bitów losowości. Cudzysłowy, ukośniki wsteczne, grawisy, pionowe kreski i spacje są pominięte celowo, bo najczęściej psują kod, pliki konfiguracyjne i wiersz poleceń.
Wyłącz grupy, których nie potrzebujesz. Do kodu liczbowego albo testowego ID zostaw tylko cyfry, do kodu bez cyfr tylko litery, a do kodu, który łatwo podyktować, wielkie litery i cyfry.
Włącz hex, a ciąg będzie zawierał tylko cyfry 0-9 i litery a-f. Każdy znak hex niesie 4 bity, więc 32 znaki hex odpowiadają 16 losowym bajtom, a 64 znaki 32 bajtom. Wiele systemów oczekuje kluczy, tokenów i identyfikatorów właśnie w tym formacie.
Przy kodach rabatowych, zaproszeniach i wszystkim, co ludzie przepisują albo czytają z kartki, włącz pomiń podobne znaki. Znaki 0 i O albo 1, l i I wtedy się nie pojawią, więc nikt ich nie pomyli.
W skrypcie lub aplikacji użyj bezpiecznych funkcji losowych, które ma każdy język. Każdy przykład tworzy 32 znaki albo sekret z 32 losowych bajtów.
import secrets, string
alphabet = string.ascii_letters + string.digits
print(''.join(secrets.choice(alphabet) for _ in range(32)))python3 -c "import secrets; print(secrets.token_urlsafe(32))"const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const limit = 2 ** 32 - (2 ** 32 % alphabet.length);
let value = '';
while (value.length < 32) {
const [n] = crypto.getRandomValues(new Uint32Array(1));
if (n < limit) value += alphabet[n % alphabet.length];
}
console.log(value);node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"echo bin2hex(random_bytes(16));openssl rand -hex 32
LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32; echoWięcej generatorów danych testowych, kodów i treści zastępczych.
Często zadawane pytania