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í.
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í.
Výsledek
Čí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ů |
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.
Generátor začíná s písmeny a čísly. Znaky zapněte nebo vypněte podle toho, kde řetězec použijete.
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í.
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.
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.
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.
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.
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ů.
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; echoDalší generátory testovacích dat, kódů a zástupného obsahu.
Často kladené otázky