Náhodný alfanumerický reťazec
Predvolená voľba: veľké písmená, malé písmená a čísla (A-Z, a-z, 0-9), spolu 62 znakov. Funguje takmer všade, v URL, názvoch súborov, databázach aj konfiguračných súboroch, bez akéhokoľvek escapovania.
Potrebujete náhodný reťazec na API kľúč, tajný kľúč pre JWT, kód na poukážku alebo testovacie dáta? Zvoľte dĺžku a znaky a výsledok skopírujte. Jeden reťazec alebo až 1 000 naraz.
Reťazce vznikajú priamo vo vašom prehliadači pomocou bezpečného generátora náhodných čísel a nikam sa neodosielajú.
Výsledok
Čím je reťazec dlhší a čím viac druhov znakov obsahuje, tým ťažšie sa dá uhádnuť. Tieto nastavenia sa hodia na najčastejšie použitia.
| Použitie | Nastavenie | Náhodnosť |
|---|---|---|
| Tajný kľúč pre JWT (HS256) | 43 písmen a číslic alebo 64 hex znakov | 256 bitov |
| API kľúč alebo prístupový token | 32 písmen a číslic | 190 bitov |
| Session ID alebo CSRF token | 32 písmen a číslic | 190 bitov |
| Kód na poukážku alebo pozvánku | 8 až 12 veľkých písmen a číslic bez podobných znakov | 40 až 60 bitov |
| Názov súboru alebo kľúč do cache | 16 malých písmen a číslic | 82 bitov |
Na heslá k účtom je lepší generátor hesiel. Vytvorí aj heslové frázy a PIN kódy a ukáže, aké silné je každé heslo.
Hľadáte radšej náhodné slová alebo vety? Použite generátor Lorem Ipsum.
Generátor začína s písmenami a číslami. Znaky zapnite alebo vypnite podľa toho, kde reťazec použijete.
Predvolená voľba: veľké písmená, malé písmená a čísla (A-Z, a-z, 0-9), spolu 62 znakov. Funguje takmer všade, v URL, názvoch súborov, databázach aj konfiguračných súboroch, bez akéhokoľvek escapovania.
Zapnite symboly a pridajú sa znaky !#$%&()*+,-./:;<=>?@[]^_{}~. Každý znak má potom viac možností, takže rovnaká dĺžka prinesie viac bitov náhodnosti. Úvodzovky, spätné lomky, opačné apostrofy, zvislé čiary a medzery sú vynechané zámerne, lebo najčastejšie pokazia kód, konfiguračné súbory a príkazový riadok.
Vypnite skupiny, ktoré nepotrebujete. Na číselný kód alebo testovacie ID nechajte len čísla, na kód bez číslic len písmená a na kód, ktorý sa dá ľahko nadiktovať, veľké písmená a čísla.
Zapnite hex a reťazec bude obsahovať len číslice 0-9 a písmená a-f. Každý hex znak nesie 4 bity, takže 32 hex znakov zodpovedá 16 náhodným bajtom a 64 znakov 32 bajtom. Veľa systémov očakáva kľúče, tokeny a ID práve v tomto formáte.
Pri kódoch na poukážky, pozvánkach a všetkom, čo ľudia prepisujú alebo čítajú z papiera, zapnite vynechať podobné znaky. Znaky 0 a O či 1, l a I sa potom nikdy neobjavia, takže si ich nikto nezamení.
V skripte alebo aplikácii použite bezpečné funkcie na náhodné čísla, ktoré má každý jazyk. Každý príklad vytvorí 32 znakov alebo tajný kľúč z 32 náhodných bajtov.
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; echoĎalšie generátory testovacích dát, kódov a zástupného obsahu.
Často kladené otázky