Willekeurige API-sleutel Generator - Gratis Veilige 32-Tekens Sleutels
Genereer cryptografisch veilige API-sleutels direct. Gratis online tool maakt willekeurige 32-tekens alfanumerieke sleutels voor authenticatie. Generatie aan clientzijde, geen opslag.
API-sleutel Generator
Documentatie
Een generator voor willekeurige API-sleutels is een hulpmiddel dat een willekeurige tekenreeks van letters en cijfers maakt voor gebruik als wachtwoordachtige code tussen twee computerprogramma's. Deze generator werkt volledig in de webbrowser van de bezoeker. De gebruiker kan een sleutellengte kiezen van 8 tot 128 tekens, waarbij 32 tekens als standaard is ingesteld.
Wat is een API-sleutel?
Een API-sleutel is een tekenreeks die een programma samen met een verzoek verstuurt om te bewijzen dat het een service mag gebruiken. Een webserver controleert de sleutel voordat hij het verzoek beantwoordt. In tegenstelling tot een gebruikersnaam en wachtwoord identificeert een API-sleutel meestal een toepassing of script, niet een persoon.
Sleutels werken het best wanneer niemand ze kan raden. Een generator die echte willekeur gebruikt, vermijdt patronen die voorkomen in sleutels die door een persoon zijn ingevoerd, zoals herhaalde tekens of korte, gemakkelijk te onthouden woorden.
Hoe deze generator werkt
De tool stelt elke sleutel samen uit een vaste set van 62 tekens: de 26 hoofdletters A–Z, de 26 kleine letters a–z en de 10 cijfers 0–9. Voor een sleutel met lengte n kiest de tool één voor één n tekens uit die set.
Elk teken komt uit de Web Crypto API van de browser, specifiek crypto.getRandomValues(). Dit is een cryptografisch veilige generator van willekeurige getallen (CSPRNG), in tegenstelling tot JavaScript Math.random(), dat voorspelbaar en ongeschikt is voor beveiligingsgevoelige waarden.
Om een eerlijk teken uit 62 mogelijkheden te kiezen op basis van een willekeurige byte (256 mogelijke waarden), kan de generator niet simpelweg byte % 62 gebruiken. Omdat 256 niet gelijkmatig deelbaar is door 62, zouden de eerste tekens in de set met een gewone modulo-berekening iets waarschijnlijker zijn dan de rest. De tool voorkomt dit met rejection sampling: elke willekeurige byte die deze vertekening zou veroorzaken, wordt weggegooid en vervangen door een nieuwe. Elk teken in de uiteindelijke sleutel heeft daardoor op elke positie een gelijke, onbevooroordeelde kans om voor te komen.
Een API-sleutel genereren
- Voer een sleutellengte in tussen 8 en 128 tekens, of behoud de standaardwaarde 32. Een getal buiten dit bereik wordt gemarkeerd en de dichtstbijzijnde toegestane lengte wordt gebruikt.
- Klik op ‘Genereren’. De sleutel verschijnt in een tekstvak dat volledig in de browser wordt opgebouwd. Als u in het vak klikt, wordt de hele sleutel geselecteerd.
- Klik op ‘Kopiëren’ om de sleutel naar het klembord te kopiëren. Sommige browsers vragen dit de eerste keer te bevestigen.
- Klik op ‘Opnieuw genereren’ om een nieuwe sleutel met dezelfde lengte te maken, of op ‘Herstellen’ om de sleutel te wissen en terug te keren naar de standaardlengte van 32.
Onder de sleutel toont de tool drie waarden: de sleutellengte in tekens, de grootte van de tekenset (altijd 62) en de entropie in bits.
Er wordt geen sleutel naar een server verzonden, gelogd of opgeslagen. Het genereren gebeurt met lokale JavaScript-code, dus een controle van de netwerkactiviteit van de browser tijdens het genereren laat geen uitgaande verzoeken zien.
Het aantal mogelijke sleutels berekenen
Het aantal verschillende sleutels dat een bepaalde lengte kan opleveren, volgt uit een eenvoudige formule:
Hierbij staat N voor het aantal mogelijke sleutels, c voor de grootte van de tekenset en n voor de sleutellengte.
De grootte van de tekenset is voor deze tool altijd 62. Voor de standaardlengte van 32:
N = 62³² ≈ 2,27 × 10⁵⁷
Dit getal wordt ook uitgedrukt als entropie, gemeten in bits, met de formule:
Hierbij staat H voor de entropie in bits.
Voor een sleutel van 32 tekens: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 bits.
Uitgewerkt voorbeeld: tijd om elke sleutel te proberen
Stel dat een aanvaller elke seconde één miljard (10⁹) sleutels kan testen, een onrealistisch hoge snelheid voor elk werkelijk systeem. Het proberen van elke mogelijke sleutel van 32 tekens zou duren:
2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ seconden ≈ 7,2 × 10⁴⁰ jaar
Ter vergelijking: het heelal is ongeveer 1,4 × 10¹⁰ jaar oud. Een brute-forcezoektocht door elke mogelijke sleutel vormt bij deze lengte geen praktisch gevaar. Kortere sleutels verkleinen dit aantal snel: een sleutel van 8 tekens heeft slechts 62⁸ ≈ 2,18 × 10¹⁴ mogelijke waarden, die een snelle computer in enkele dagen kan doorzoeken.
Waarom toepassingen API-sleutels gebruiken
Met API-sleutels kan een service eenvoudig bepalen welke toepassing een verzoek doet. Dat is om een aantal redenen van belang.
Authenticatie. Een server kan verzoeken zonder geldige sleutel weigeren en zo het meeste onbedoelde misbruik blokkeren.
Gebruik bijhouden. Omdat elke client een andere sleutel kan hebben, kan een service meten hoeveel elke client gebruikt en per sleutel afzonderlijke snelheidslimieten toepassen.
Intrekking. Eén gecompromitteerde sleutel kan worden ingetrokken zonder gevolgen voor andere clients, omdat elke sleutel onafhankelijk is.
API-sleutels zijn eenvoudiger te implementeren dan OAuth 2,0, een authenticatiestandaard die werkt met tijdelijke, automatisch vernieuwde tokens. OAuth is geschikt voor openbare services die persoonsgegevens verwerken. API-sleutels zijn gebruikelijk voor interne tools, scripts en oproepen tussen services, waarbij een langdurig geldig inloggegeven aanvaardbaar is.
Beveiligingsmaatregelen voor API-sleutels
Enkele maatregelen verkleinen het risico dat een sleutel uitlekt:
- Sla sleutels niet op in broncode. De geschiedenis van versiebeheer is moeilijk te wissen en openbare repositories worden voortdurend gescand op blootgelegde inloggegevens. Sla sleutels in plaats daarvan op in omgevingsvariabelen of een geheimenkluis.
- Vervang sleutels regelmatig. Door elke paar maanden een sleutel te vervangen, blijft een uitgelekte sleutel minder lang bruikbaar voor een aanvaller.
- Geef een sleutel alleen de minimaal benodigde toegang. Een sleutel die alleen gegevens leest, mag deze niet ook kunnen wijzigen of verwijderen.
- Let op ongebruikelijke activiteit, zoals een plotselinge piek in verzoeken vanaf één sleutel.
Beperkingen
Deze tool bewaart geen overzicht van de sleutels die hij heeft gegenereerd en kan daarom niet garanderen dat een sleutel niet eerder is geproduceerd. De kans dat twee willekeurige sleutels van 32 tekens overeenkomen, is ongeveer 1 op (2,5 cm) 2,27 × 10⁵⁷, wat voor normaal gebruik dicht genoeg bij nul ligt. Systemen die een absolute garantie op uniciteit nodig hebben, zoals primaire sleutels van databases, moeten nieuwe waarden op een server controleren aan de hand van bestaande waarden.
De tekenset bestaat uitsluitend uit hoofdletters, kleine letters en cijfers. Symbolen zoals ! of - zijn niet opgenomen, zodat sleutels zonder escapen in de meeste URL's, headers en configuratiebestanden kunnen worden geplakt.
Veelgestelde vragen
Wat is een generator voor API-sleutels?
Het is een tool die willekeurige tekenreeksen produceert voor gebruik als authenticatiegegevens tussen softwaretoepassingen. Deze tool maakt sleutels van 8 tot 128 tekens, gekozen uit 62 mogelijke tekens, met behulp van de cryptografisch veilige generator van willekeurige getallen van de browser.
Is een sleutel van deze tool veilig genoeg voor productiegebruik?
De willekeur zelf is cryptografisch veilig. De algehele beveiliging hangt ook af van de manier waarop de sleutel daarna wordt opgeslagen en verzonden: commit de sleutel nooit naar versiebeheer, verstuur hem altijd via HTTPS en vervang hem regelmatig.
Welke lengte moet ik kiezen?
De standaardlengte van 32 tekens levert ongeveer 2,27 × 10⁵⁷ mogelijke combinaties op, veel meer dan een realistische brute-forcepoging kan doorzoeken. Kortere sleutels, zoals sleutels van 16 tekens, kunnen geschikt zijn voor interne tools met een laag risico. Zeer lange sleutels bieden weinig extra bescherming, maar zijn moeilijker op te slaan en te plakken.
Kan ik een aangepaste lengte instellen?
Ja. Het lengteveld accepteert elk geheel getal van 8 tot 128. De tekenset zelf (A–Z, a–z, 0–9) blijft ongewijzigd.
Slaat de tool de gegenereerde sleutels op of verzendt hij ze?
Nee. Elke sleutel wordt met lokale JavaScript-code in de browser gegenereerd. Er wordt niets naar een server verzonden, gelogd of opgeslagen.
Wat is het verschil tussen een API-sleutel en een OAuth-token?
Een API-sleutel is een langdurig geldige inloggegeven die geldig blijft totdat iemand deze intrekt. Een OAuth-token verloopt automatisch na een bepaalde tijd en kan zonder directe tussenkomst van de gebruiker worden vernieuwd. OAuth past bij openbare services die persoonsgegevens verwerken; API-sleutels passen bij eenvoudiger intern of ontwikkelgebruik.
Welke browsers ondersteunt deze tool?
Elke browser die de Web Crypto API aanbiedt, waaronder elke versie van Chrome, Firefox, Safari, Edge en Opera die in het afgelopen decennium is uitgebracht. Als die API ontbreekt, toont de tool een foutmelding. Er wordt nooit teruggevallen op Math.random(), omdat die functie niet veilig is.