Slik bruker du det
- Velg hvor mange tilfeldige byte hver token skal inneholde. 32 byte (256 bits) er et trygt standardvalg for hemmeligheter.
- Velg en koding som passer der tokenen skal brukes, og legg eventuelt til et prefiks som «myapp_live_».
- Angi hvor mange tokens du trenger, og kopier én eller bruk «Kopier alle». Trykk på «Generer på nytt» for et nytt sett.
Slik fungerer det
Tokens lages fra tilfeldige byte produsert av crypto.getRandomValues, den kryptografisk sikre generatoren som er innebygd i nettleseren og operativsystemet. Math.random brukes aldri.
For hex, Base64 og Base64URL tar verktøyet nøyaktig det antallet byte du velger og koder dem, slik at et token på 32 byte alltid har 256 bits entropi: 64 hex-tegn, 44 Base64-tegn (inkludert ett =-tegn som utfylling) eller 43 Base64URL-tegn. Base64URL erstatter + og / med - og _ og fjerner utfyllingen, slik at den kan brukes i URL-er, filnavn og HTTP-headere uten å måtte bruke escape-tegn.
Alfanumeriske tokens bruker bare A–Z, a–z og 0–9, noe som unngår tegn som enkelte systemer behandler spesielt. Hvert tegn bærer omtrent 5,95 bits, så verktøyet trekker nok tegn til å nå minst det valgte antallet bits (43 tegn for 256 bits). Tegnene velges med forkastningssampling (rejection sampling), slik at alle 62 er like sannsynlige.
Prefikset legges til som ren tekst og tilfører ingen entropi. Prefikser som «sk_live_» gjør det lettere å gjenkjenne og finne lekkede nøkler med hemmelighetsskannere. Oppbevar hemmeligheter i en passordbehandler eller et hemmelighetslager, ikke i kildekoden.
Eksempler
En webhook-signeringshemmelighet
32 byte i hex gir en hemmelighet på 64 tegn med 256 bits entropi, som du kan lime inn i både avsenderens og mottakerens konfigurasjon for HMAC-SHA-256-signaturer.
En API-nøkkel med gjenkjennelig prefiks
Velg 24 byte, Alfanumerisk og prefikset «acme_live_». Hver nøkkel ser ut som acme_live_ etterfulgt av 33 bokstaver og sifre, har minst 192 bits og er lett å oppdage i logger eller med en hemmelighetsskanner.
Et URL-sikkert tilbakestillingstoken
16 byte i Base64URL gir et token på 22 tegn (128 bits) som kan legges direkte inn i en lenke som /reset?token=… uten prosentkoding.
Ofte stilte spørsmål
Hvor mange byte bør en hemmelighet ha?
128 bits (16 byte) er nok til å gjøre gjetting umulig for tokens som sesjons-ID-er. For langvarige hemmeligheter som signeringsnøkler er 256 bits (32 byte) den vanlige anbefalingen og samsvarer med utdatastørrelsen til SHA-256.
Hvilken koding bør jeg velge?
Entropien er den samme for et gitt antall byte; bare tekstformen er forskjellig. Bruk hex for maksimal kompatibilitet, Base64URL for korte tokens i URL-er og headere, og alfanumerisk når et system avviser tegnsetting.
Blir tokenene lagret eller loggført?
Nei. De genereres i denne nettleserfanen og forsvinner når du forlater siden. De sendes ikke til en server eller inkluderes i analyse.
Kan jeg bruke disse som passord?
Ja, de er tilfeldige nok, men nettsteder krever ofte en blanding av tegnklasser. Passordgeneratoren lar deg styre disse reglene direkte.
Personvern
Tokenene genereres i nettleseren din med crypto.getRandomValues. De lastes ikke opp, lagres ikke, loggføres ikke og sendes ikke til analyseverktøy; bare en anonym hendelse om at verktøyet ble brukt, registreres.