Generer kryptografisk sikre tilfeldige tokener i hex, Base64URL eller alfanumerisk format — i nettleseren din.
API-nøkler, øktidentifikatorer, webhook-hemmeligheter, koder for tilbakestilling av passord og CSRF-tokener deler alle ett krav: de må være umulige å gjette. Det utelukker Math.random(), tidsstempler og alt som er avledet av dem — de er forutsigbare nok til å knekkes med rå kraft. Denne generatoren bruker crypto.getRandomValues, den kryptografisk sikre pseudotilfeldige tallgeneratoren (CSPRNG) som nettlesere sår med entropi fra operativsystemet — samme kilde som brukes til å lage TLS-nøkler.
Lengdevalget bestemmer hvor mange tilfeldige byte hvert token inneholder (16 til 128, standard 32) — eller, i alfanumerisk modus, hvor mange tegn. Hex koder hver byte som to tegn fra 0-9a-f; Base64URL pakker de samme bytene inn i en kortere, URL-sikker streng med bokstaver, sifre, minus og understrek; alfanumerisk henter tegn fra settet på 62 tegn A-Z a-z 0-9. Den alfanumeriske modusen fortjener en teknisk merknad: siden 256 ikke er delelig med 62, ville en naiv modulo 62 på hver tilfeldige byte gjøre at noen tegn dukker opp oftere enn andre (modulo-skjevhet). Denne generatoren bruker i stedet forkastningsmetoden (rejection sampling) — byte større enn eller lik 248 forkastes og trekkes på nytt — slik at hvert tegn er nøyaktig like sannsynlig.
Statuslinjen viser den estimerte entropien: 8 bits per byte for hex og Base64URL, log2(62) ≈ 5,95 bits per tegn for alfanumerisk. Som en tommelfingerregel er 128 bits allerede umulig å knekke med rå kraft, og 256 bits — standarden på 32 byte — er standarden for langlivede API-nøkler. Alt genereres lokalt i nettleseren din, så ingen server ser noen gang tokenene, og de er trygge å bruke som ekte hemmeligheter. Behandle dem deretter: lagre bare en hash av tokenet på serversiden, vis klartekstverdien én gang, og roter nøkler du mistenker er eksponert.
Entropi = lengde × log2(alfabetstørrelse). Et token på 32 byte bærer 256 bits entropi i enhver koding; et alfanumerisk token bærer log2(62) ≈ 5,95 bits per tegn, så 43 alfanumeriske tegn ≈ 256 bits.
32 byte (256 bits) er et solid standardvalg for langlivede API-nøkler, og 16 byte (128 bits) er det praktiske minimumet for alt sikkerhetsrelevant. Lengre tokener koster ingenting her, så vær heller raus.
Det er den ujevne fordelingen du får når 256 byteverdier avbildes på et alfabet som ikke deler 256 jevnt — noen tegn blir litt mer sannsynlige, noe som målbart reduserer effektiv entropi. Dette verktøyet unngår det med forkastningsmetoden, som forkaster byte over det største hele multiplumet av alfabetstørrelsen.
Nei. Tokenene produseres lokalt av crypto.getRandomValues og overføres, logges eller lagres aldri — denne siden gjør ingen nettverksforespørsler, så tokenene er trygge å bruke som ekte hemmeligheter.
Bare kodingen — tilfeldighetskilden er den samme. Hex er lengst, men kan tolkes overalt; Base64URL er omtrent en tredjedel kortere og trygg i URL-er; alfanumerisk unngår all tegnsetting, noe som hjelper når et system begrenser tillatte tegn.
I teorien ja, i praksis nei: ved 256 bits er sannsynligheten for noensinne å se en duplikat langt lavere enn for en maskinvarefeil. Kollisjonsresistens er nettopp grunnen til at ugjettbare tilfeldige tokener er gode identifikatorer for hemmeligheter.
Vai.la gjør enhver URL om til en kortlenke med klikkstatistikk, QR Code og din egen biolink.
Vai.la er ikke ansvarlig for hvordan verktøyene brukes, eller for beslutninger tatt på grunnlag av resultatene.