Tilfeldig API-nøkkel Generator - Gratis Sikre 32-Tegns Nøkler
Generer kryptografisk sikre API-nøkler umiddelbart. Gratis online verktøy oppretter tilfeldige 32-tegns alfanumeriske nøkler for autentisering. Generering på klientsiden, ingen lagring.
API-nøkkel Generator
Dokumentasjon
En tilfeldig API-nøkkelgenerator er et verktøy som lager en tilfeldig streng med bokstaver og tall, som brukes som en passordlignende kode mellom to dataprogrammer. Denne kjører utelukkende i den besøkendes nettleser. Den lar brukeren velge en nøkkellengde fra 8 til 128 tegn, med 32 tegn som standard.
Hva er en API-nøkkel?
En API-nøkkel er en tegnstreng som et program sender sammen med en forespørsel for å bevise at det har tillatelse til å bruke en tjeneste. En nettserver kontrollerer nøkkelen før den svarer på forespørselen. I motsetning til et brukernavn og passord identifiserer en API-nøkkel vanligvis en applikasjon eller et skript, ikke en person.
Nøkler fungerer best når ingen kan gjette dem. En generator som bruker ekte tilfeldighet, unngår mønstrene som forekommer i nøkler skrevet av en person, for eksempel gjentatte tegn eller korte, lett huskbare ord.
Slik fungerer denne generatoren
Verktøyet bygger hver nøkkel fra et fast sett med 62 tegn: de 26 store bokstavene A–Z, de 26 små bokstavene a–z og de 10 sifrene 0–9. For en nøkkel med lengden n velger det n tegn fra dette settet, ett om gangen.
Hvert tegn kommer fra nettleserens Web Crypto API, nærmere bestemt crypto.getRandomValues(). Dette er en kryptografisk sikker tilfeldig tallgenerator (CSPRNG), i motsetning til JavaScripts Math.random(), som er forutsigbar og uegnet for sikkerhetsfølsomme verdier.
For å velge et jevnt fordelt tegn blant 62 alternativer fra en tilfeldig byte (256 mulige verdier) kan generatoren ikke bare bruke byte % 62. Fordi 256 ikke går jevnt opp i 62, ville en enkel modulooperasjon gjøre de første tegnene i settet litt mer sannsynlige enn resten. Verktøyet unngår dette ved hjelp av forkastingssampling: Det forkaster alle tilfeldige byteverdier som ville ført til denne skjevheten, og trekker en ny i stedet. Hvert tegn i den endelige nøkkelen har derfor samme, uskjeve sannsynlighet for å forekomme på hver plass.
Slik genererer du en API-nøkkel
- Angi en nøkkellengde på mellom 8 og 128 tegn, eller behold standardverdien 32. Et tall utenfor dette intervallet markeres, og den nærmeste tillatte lengden brukes i stedet.
- Klikk på «Generate». Nøkkelen vises i et tekstfelt som er laget utelukkende i nettleseren. Når du klikker i feltet, velges hele nøkkelen.
- Klikk på «Copy» for å kopiere nøkkelen til utklippstavlen. Noen nettlesere ber om tillatelse første gang.
- Klikk på «Regenerate» for å lage en ny nøkkel med samme lengde, eller på «Reset» for å tømme nøkkelen og gå tilbake til standardlengden 32.
Under nøkkelen viser verktøyet tre tall: nøkkellengden i tegn, størrelsen på tegnsettet (alltid 62) og entropien i bit.
Ingen nøkkel sendes til en server, loggføres eller lagres. Genereringen skjer med lokal JavaScript-kode, så en kontroll av nettleserens nettverksaktivitet under genereringen viser ingen utgående forespørsler.
Slik beregner du antallet mulige nøkler
Antallet forskjellige nøkler en bestemt lengde kan produsere, følger en enkel formel:
der N er antallet mulige nøkler, c er størrelsen på tegnsettet, og n er nøkkellengden.
Tegnsettets størrelse er alltid 62 for dette verktøyet. For standardlengden 32:
N = 62³² ≈ 2,27 × 10⁵⁷
Dette tallet uttrykkes også som entropi, målt i bit, ved hjelp av formelen:
der H er entropien målt i biter.
For en nøkkel på 32 tegn: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 bit.
Tid for å prøve alle nøkler
Anta at en angriper kunne teste én milliard (10⁹) nøkler per sekund, en urealistisk høy hastighet for ethvert reelt system. Det ville ta følgende tid å prøve alle mulige nøkler på 32 tegn:
2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ sekunder ≈ 7,2 × 10⁴⁰ år
Til sammenligning er universet omtrent 1,4 × 10¹⁰ år gammelt. Et uttømmende søk gjennom alle mulige nøkler er ikke en praktisk trussel ved denne lengden. Kortere nøkler reduserer dette tallet raskt: En nøkkel på 8 tegn har bare 62⁸ ≈ 2,18 × 10¹⁴ mulige verdier, som en rask datamaskin kunne søke gjennom på noen få dager.
Hvorfor applikasjoner bruker API-nøkler
API-nøkler gir en tjeneste en enkel måte å se hvilken applikasjon som sender en forespørsel. Dette er viktig av flere grunner.
Autentisering. En server kan avvise forespørsler som kommer uten en gyldig nøkkel, og dermed blokkere det meste av tilfeldig misbruk.
Brukssporing. Ettersom hver klient kan ha en egen nøkkel, kan en tjeneste måle hvor mye hver klient bruker, og fastsette separate bruksgrenser for hver nøkkel.
Tilbakekalling. En enkelt kompromittert nøkkel kan tilbakekalles uten å påvirke andre klienter, siden hver nøkkel er uavhengig.
API-nøkler er enklere å implementere enn OAuth 2,0, en autentiseringsstandard som bygger på midlertidige, automatisk fornyede tokener. OAuth passer for offentlige tjenester som håndterer personopplysninger. API-nøkler er vanlige for interne verktøy, skript og kommunikasjon mellom tjenester, der en tilgangsopplysning med lang levetid er akseptabel.
Sikkerhetsrutiner for API-nøkler
Noen rutiner reduserer risikoen for at en nøkkel lekker:
- Ikke lagre nøkler i kildekoden. Det er vanskelig å slette versjonskontrollhistorikk, og offentlige kodearkiver skannes kontinuerlig etter lekkede tilgangsopplysninger. Lagre nøkler i miljøvariabler eller et system for håndtering av hemmeligheter i stedet.
- Bytt nøkler med jevne mellomrom. Hvis en nøkkel erstattes med noen måneders mellomrom, begrenses tiden en lekket nøkkel forblir nyttig for en angriper.
- Gi en nøkkel minst mulig tilgang. En nøkkel som bare leser data, bør ikke også kunne skrive eller slette data.
- Se etter uvanlig aktivitet, for eksempel en plutselig økning i forespørsler fra én nøkkel.
Begrensninger
Dette verktøyet beholder ikke en oversikt over nøklene det har generert, så det kan ikke garantere at en nøkkel aldri har blitt produsert før. Sannsynligheten for at to tilfeldige nøkler på 32 tegn er like, er omtrent 1 av (2,5 cm) 2,27 × 10⁵⁷, noe som er tilnærmet lik null ved vanlig bruk. Systemer som trenger en absolutt garanti for unikhet, for eksempel primærnøkler i databaser, bør imidlertid kontrollere nye verdier mot eksisterende verdier på en server.
Tegnsettet består fast av store bokstaver, små bokstaver og sifre. Det inkluderer ikke symboler som ! eller -, noe som gjør det trygt å lime inn nøkler i de fleste URL-er, topptekster og konfigurasjonsfiler uten escaping.
Ofte stilte spørsmål
Hva er en API-nøkkelgenerator?
Det er et verktøy som produserer tilfeldige strenger til autentisering mellom programvareapplikasjoner. Denne lager nøkler på 8 til 128 tegn, hentet fra 62 mulige tegn, ved hjelp av nettleserens kryptografisk sikre tilfeldige tallgenerator.
Er en nøkkel fra dette verktøyet sikker nok til bruk i produksjon?
Selve tilfeldigheten er kryptografisk sikker. Den samlede sikkerheten avhenger også av hvordan nøkkelen lagres og overføres etterpå: Den må aldri legges inn i versjonskontroll, den må alltid sendes over HTTPS, og den bør byttes ut regelmessig.
Hvilken lengde bør jeg velge?
Standardlengden på 32 tegn gir omtrent 2,27 × 10⁵⁷ mulige kombinasjoner, langt flere enn noe realistisk uttømmende søk kan prøve. Kortere nøkler, for eksempel på 16 tegn, kan passe for interne verktøy med lav risiko. Svært lange nøkler gir liten ekstra beskyttelse, men er vanskeligere å lagre og lime inn.
Kan jeg angi en egendefinert lengde?
Ja. Lengdefeltet godtar alle heltall fra 8 til 128. Selve tegnsettet (A–Z, a–z, 0–9) forblir uendret.
Lagrer eller overfører verktøyet nøklene det genererer?
Nei. Hver nøkkel genereres av lokal JavaScript-kode i nettleseren. Ingenting sendes til en server, loggføres eller lagres.
Hva er forskjellen mellom en API-nøkkel og et OAuth-token?
En API-nøkkel er en langvarig tilgangsopplysning som forblir gyldig til noen tilbakekaller den. Et OAuth-token utløper automatisk etter en bestemt tid og kan fornyes uten direkte medvirkning fra brukeren. OAuth passer for offentlige tjenester som håndterer personopplysninger, mens API-nøkler passer for enklere, intern eller utviklingsrelatert bruk.
Hvilke nettlesere støtter dette verktøyet?
Alle nettlesere som tilbyr Web Crypto API, noe som omfatter alle versjoner av Chrome, Firefox, Safari, Edge og Opera som er utgitt det siste tiåret. Hvis dette API-et mangler, viser verktøyet en feilmelding. Det faller aldri tilbake på Math.random(), som ikke er sikkert.