Jak používat
- Zvolte, kolik náhodných bajtů by měl každý token obsahovat. 32 bajtů (256 bitů) je bezpečné výchozí nastavení pro tajné klíče.
- Vyberte kódování podle místa použití tokenu a případně přidejte prefix, například „myapp_live_“.
- Nastavte, kolik tokenů potřebujete, pak jeden zkopírujte nebo použijte „Kopírovat vše“. Pro novou sadu stiskněte „Generovat znovu“.
Jak to funguje
Tokeny se vytvářejí z náhodných bajtů generovaných pomocí crypto.getRandomValues, kryptograficky bezpečného generátoru zabudovaného ve vašem prohlížeči a operačním systému. Math.random se nikdy nepoužívá.
U formátů hex, Base64 a Base64URL nástroj vezme přesně zvolený počet bajtů a zakóduje je, takže 32bajtový token má vždy 256 bitů entropie: 64 hex znaků, 44 znaků Base64 (včetně jednoho znaku = jako padding) nebo 43 znaků Base64URL. Base64URL nahrazuje + a / znaky - a _ a odstraňuje padding, takže jej lze použít v URL, názvech souborů a HTTP hlavičkách bez escapování.
Alfanumerické tokeny používají pouze A–Z, a–z a 0–9, čímž se vyhýbají znakům, které některé systémy považují za speciální. Každý znak nese přibližně 5,95 bitů, takže nástroj vygeneruje dostatek znaků, aby dosáhl alespoň zvoleného počtu bitů (43 znaků pro 256 bitů). Znaky se vybírají pomocí odmítacího vzorkování, takže všech 62 je stejně pravděpodobných.
Předpona se přidává jako prostý text a nepřidává žádnou entropii. Předpony jako „sk_live_“ usnadňují rozpoznání uniklých klíčů a jejich nalezení pomocí skenerů tajemství. Tajemství ukládejte do správce hesel nebo do úložiště tajemství, nikoli do zdrojového kódu.
Příklady
Tajný klíč pro podepisování webhooků
32 bajtů v hexadecimální podobě vytvoří 64znakový tajný klíč s 256 bity entropie, který můžete vložit do konfigurace odesílatele i příjemce pro podpisy HMAC-SHA-256.
Klíč API s rozpoznatelným prefixem
Zvolte 24 bajtů, alfanumerický formát a prefix „acme_live_“. Každý klíč vypadá jako acme_live_ následovaný 33 písmeny a číslicemi, obsahuje alespoň 192 bitů a snadno ho najdete v protokolech nebo pomocí skeneru tajných klíčů.
Resetovací token bezpečný pro URL
16 bajtů v Base64URL poskytne token o 22 znacích (128 bitů), který lze vložit přímo do odkazu, např. /reset?token=…, bez procentového kódování.
Časté dotazy
Kolik bajtů by měl mít tajný klíč?
128 bitů (16 bajtů) stačí k tomu, aby bylo hádání u tokenů, jako jsou ID relací, nemožné. Pro dlouhodobá tajemství, jako jsou podepisovací klíče, se běžně doporučuje 256 bitů (32 bajtů), což odpovídá velikosti výstupu SHA-256.
Které kódování mám zvolit?
Entropie je pro daný počet bajtů stejná; liší se pouze textová podoba. Pro maximální kompatibilitu použijte hex, pro krátké tokeny v URL a hlavičkách Base64URL a alfanumerický formát, když systém odmítá interpunkci.
Jsou tokeny ukládány nebo zaznamenávány?
Ne. Generují se v této kartě prohlížeče a po opuštění stránky zmizí. Neodesílají se na server ani se nezahrnují do analytiky.
Mohu je použít jako hesla?
Ano, jsou dostatečně náhodné, ale weby často vyžadují kombinaci typů znaků. Generátor hesel vám umožní tato pravidla přímo ovládat.
Soukromí
Tokeny se generují ve vašem prohlížeči pomocí crypto.getRandomValues. Nejsou nahrávány, ukládány, protokolovány ani odesílány do analytiky; zaznamenává se pouze anonymní událost, že byl nástroj použit.