Přeskočit na obsah

Generátor náhodných řetězců

Potřebujete náhodný řetězec pro API klíč, tajný klíč pro JWT, kód na poukázku nebo testovací data? Zvolte délku a znaky a výsledek zkopírujte. Jeden řetězec, nebo až 1 000 najednou.

Řetězce vznikají přímo ve vašem prohlížeči pomocí bezpečného generátoru náhodných čísel a nikam se neodesílají.

Vygenerovat náhodný řetězec

Znaky

Přidá se před řetězec a do délky se nepočítá.

Výsledek

Náhodné řetězce

Jak dlouhý má být náhodný řetězec?

Čím je řetězec delší a čím víc druhů znaků obsahuje, tím hůř se dá uhodnout. Tato nastavení se hodí pro nejčastější použití.

Použití Nastavení Náhodnost
Tajný klíč pro JWT (HS256) 43 písmen a číslic nebo 64 hex znaků 256 bitů
API klíč nebo přístupový token 32 písmen a číslic 190 bitů
Session ID nebo CSRF token 32 písmen a číslic 190 bitů
Kód na poukázku nebo pozvánku 8 až 12 velkých písmen a číslic bez podobných znaků 40 až 60 bitů
Název souboru nebo klíč do cache 16 malých písmen a číslic 82 bitů

K čemu se hodí

  • API klíče a přístupové tokeny pro vývoj a testování
  • Tajné klíče pro podepisování JWT a webhooků
  • Session ID a CSRF tokeny
  • Kódy na poukázky, pozvánky a doporučení
  • Jedinečné názvy souborů, klíče do cache a referenční čísla
  • Testovací data a zástupné hodnoty

Potřebujete heslo?

Pro hesla k účtům je lepší generátor hesel. Vytvoří i heslové fráze a PIN kódy a ukáže, jak silné je každé heslo.

Hledáte spíš náhodná slova nebo věty? Použijte generátor Lorem Ipsum.

Náhodný řetězec z písmen, čísel, symbolů nebo hex

Generátor začíná s písmeny a čísly. Znaky zapněte nebo vypněte podle toho, kde řetězec použijete.

Náhodný alfanumerický řetězec

Výchozí volba: velká písmena, malá písmena a čísla (A-Z, a-z, 0-9), celkem 62 znaků. Funguje téměř všude, v URL, názvech souborů, databázích i konfiguračních souborech, bez jakéhokoli escapování.

Náhodný řetězec se speciálními znaky

Zapněte symboly a přidají se znaky !#$%&()*+,-./:;<=>?@[]^_{}~. Každý znak má pak víc možností, takže stejná délka přinese víc bitů náhodnosti. Uvozovky, zpětná lomítka, obrácené apostrofy, svislé čáry a mezery jsou vynechané záměrně, protože nejčastěji rozbijí kód, konfigurační soubory a příkazový řádek.

Náhodný řetězec jen z písmen nebo jen z čísel

Vypněte skupiny, které nepotřebujete. Pro číselný kód nebo testovací ID nechte jen čísla, pro kód bez číslic jen písmena a pro kód, který se dá snadno nadiktovat, velká písmena a čísla.

Náhodný hex řetězec

Zapněte hex a řetězec bude obsahovat jen číslice 0-9 a písmena a-f. Každý hex znak nese 4 bity, takže 32 hex znaků odpovídá 16 náhodným bajtům a 64 znaků 32 bajtům. Hodně systémů očekává klíče, tokeny a ID právě v tomto formátu.

Náhodný kód bez podobných znaků

U kódů na poukázky, pozvánek a všeho, co lidé přepisují nebo čtou z papíru, zapněte vynechat podobné znaky. Znaky 0 a O nebo 1, l a I se pak nikdy neobjeví, takže si je nikdo nesplete.

Náhodný řetězec v kódu

Ve skriptu nebo aplikaci použijte bezpečné funkce pro náhodná čísla, které má každý jazyk. Každý příklad vytvoří 32 znaků nebo tajný klíč z 32 náhodných bajtů.

Python, 32 písmen a číslic
import secrets, string
alphabet = string.ascii_letters + string.digits
print(''.join(secrets.choice(alphabet) for _ in range(32)))
Python, tajný klíč pro JWT (43 znaků)
python3 -c "import secrets; print(secrets.token_urlsafe(32))"
JavaScript (prohlížeč, Node.js 19+)
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.js, 64 hex znaků
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
PHP, 32 hex znaků
echo bin2hex(random_bytes(16));
Terminál v Linuxu a macOS
openssl rand -hex 32
LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 32; echo

FAQ

Často kladené otázky

Mohu tyto řetězce použít jako API klíče?

Pro lokální vývoj a testování ano. Pro produkční API klíče použijte nástroje pro tokeny, které nabízí váš framework nebo platforma, například Laravel Sanctum, Rails has_secure_token, Django REST Framework TokenAuth nebo Phoenix Token, a při ukládání, obměně a rušení tokenů se řiďte jejich dokumentací.

Můžou být dva vygenerované řetězce stejné?

U 32 písmen a číslic existuje asi 2 × 1057 možností, takže shoda je prakticky nemožná. Krátké řetězce, například 6 číslic, se ve větším množství opakovat můžou. Pokud musí být každá hodnota jedinečná, zkontrolujte duplicity.

Odesílají se řetězce na server?

Ne. Vznikají ve vašem prohlížeči a nikam se neukládají ani neodesílají. V prohlížeči se zapamatuje jen vaše nastavení na příště.