Használata
- Válassza ki, hány véletlen bájtot tartalmazzon az egyes token. A 32 bájt (256 bit) biztonságos alapértelmezés a titkokhoz.
- Válassza ki a token felhasználási helyéhez illő kódolást, és igény szerint adjon hozzá előtagot, például: „myapp_live_”.
- Adja meg, hány tokenre van szüksége, majd másolja ki az egyiket, vagy használja az „Összes másolása” lehetőséget. Új készlethez kattintson az „Újragenerálás” gombra.
Hogyan működik
A tokenek a crypto.getRandomValues által előállított véletlen bájtokból készülnek; ez a böngészőbe és az operációs rendszerbe épített, kriptográfiailag biztonságos generátor. A Math.random soha nincs használatban.
Hex, Base64 és Base64URL esetén az eszköz pontosan a kiválasztott számú bájtot kódolja, így egy 32 bájtos token mindig 256 bit entrópiát tartalmaz: 64 hex karaktert, 44 Base64 karaktert (köztük egy = kitöltést) vagy 43 Base64URL karaktert. A Base64URL a + és / jeleket - és _ jelekre cseréli, a kitöltést pedig elhagyja, így URL-ekben, fájlnevekben és HTTP-fejlécekben escape-elés nélkül használható.
Az alfanumerikus tokenek csak A–Z, a–z és 0–9 karaktereket használnak, elkerülve azokat, amelyeket egyes rendszerek speciálisan kezelnek. Minden karakter körülbelül 5,95 bitet hordoz, ezért az eszköz annyi karaktert sorsol, hogy legalább elérje a választott bitszámot (256 bithez 43 karakter). A karakterek visszautasításos mintavételezéssel kerülnek kiválasztásra, így mind a 62 egyformán valószínű.
Az előtag sima szövegként kerül hozzáadásra, és nem ad entrópiát. Az olyan előtagok, mint a „sk_live_”, megkönnyítik a kiszivárgott kulcsok felismerését és megtalálását titokszkennerekkel. A titkokat jelszókezelőben vagy titoktárolóban tárolja, ne forráskódban.
Példák
Webhook-aláíró titok
32 bájt hexben egy 64 karakteres titkot ad 256 bit entrópiával, amelyet beilleszthet mind a küldő, mind a fogadó konfigurációjába a HMAC-SHA-256 aláírásokhoz.
API-kulcs felismerhető előtaggal
Válasszon 24 bájtot, az Alfanumerikus lehetőséget és az „acme_live_” előtagot. Minden kulcs az acme_live_ előtagból és 33 utána következő betűből vagy számjegyből áll; legalább 192 bitet hordoz, és könnyen észrevehető a naplókban vagy egy titokszkennerrel.
URL-biztos visszaállítási token
16 bájt Base64URL-ben egy 22 karakteres tokent ad (128 bit), amely közvetlenül beilleszthető egy linkbe, például: /reset?token=…, százalékos kódolás nélkül.
Gyakori kérdések
Hány bájtos legyen egy titok?
128 bit (16 bájt) elég ahhoz, hogy a találgatás lehetetlen legyen az olyan tokeneknél, mint a munkamenet-azonosítók. Hosszú élettartamú titkokhoz, például aláíró kulcsokhoz általában 256 bit (32 bájt) ajánlott, ami megegyezik a SHA-256 kimeneti méretével.
Melyik kódolást válasszam?
Az entrópia adott bájtszám esetén ugyanannyi; csak a szöveges forma tér el. Hexadecimálisat használjon a maximális kompatibilitásért, Base64URL-t rövid tokenekhez URL-ekben és fejlécekben, alfanumerikusat pedig akkor, ha egy rendszer elutasítja az írásjeleket.
A tokenek tárolásra vagy naplózásra kerülnek?
Nem. Ezen a böngészőfülön jönnek létre, és eltűnnek, amikor elhagyja az oldalt. Nem küldjük őket szerverre, és nem kerülnek bele az analitikába.
Használhatom ezeket jelszóként?
Igen, elég véletlenszerűek, de a webhelyek gyakran többféle karaktertípust követelnek meg. A Jelszógenerátorral ezeket a szabályokat közvetlenül szabályozhatja.
Adatvédelem
A tokenek a böngészőben, a crypto.getRandomValues segítségével jönnek létre. Nem töltjük fel, nem tároljuk, nem naplózzuk és nem küldjük el őket analitikai rendszerekbe; csak egy anonim eseményt rögzítünk arról, hogy az eszközt használták.