API-sleutelgenerator

Generatie in de browser. Geen sleutelgeschiedenis.

Voor je eigen applicatie. Geen inloggegevens voor andere diensten.

Zo gebruik je de API-sleutelgenerator

  1. Kies formaat, entropie en aantal. Begin met 256 bits en Base64URL, tenzij je applicatie andere eisen stelt.
  2. Open de geavanceerde opties voor toevoegingen, tekensets of openbare ID’s. Controleer de berekende lengte voor je genereert.
  3. Genereer en kopieer een sleutel of controleer de export. Bewaar productiegeheimen in je eigen geheimenbeheer, niet in openbare documenten.
  4. Registreer het geheim in je applicatie. Stel daar toegang, verval en intrekking in en wis daarna de resultaten op deze pagina.

Voor praktisch gebruik van geheimen

Een eenvoudige taak blijft snel: kies, genereer en kopieer. Voor specifieke integraties zijn er bytecoderingen, tekensets, applicatielabels, aparte openbare ID’s en batches tot 1.000 sleutels. Een account of installatie is niet nodig. De uitleg helpt je bewust kiezen, in plaats van aan te nemen dat een langer ogende tekenreeks altijd sterker is.

Formaten die bij je applicatie passen

Base64URL vermijdt het plusteken en de schuine streep van gewone Base64 en laat opvulling weg. Hexadecimaal is makkelijk te bekijken en breed ondersteund, maar gebruikt meer tekens voor dezelfde bytes. Base32 gebruikt hier A–Z en 2–7 zonder opvulling. Gewone Base64 behoudt de standaardopvulling. Controleer wat de ontvangende applicatie verwacht: coderen is geen versleutelen.

Eigen tekensets zonder misleidende sterktelabels

Kies letters, cijfers, een vaste verzameling symbolen of je eigen afdrukbare ASCII-tekens. Dubbele tekens worden verwijderd zodat ze niet vaker gekozen worden. De optie voor vergelijkbare tekens verwijdert 0, O, 1, I, l en |. Een bitdoel bepaalt de benodigde lengte; een exact tekenaantal past bij een veldlimiet. Een kleinere tekenset heeft meer tekens nodig voor dezelfde theoretische entropie.

Handige beginpunten, geen sleutels van aanbieders

API-token start met 256-bit Base64URL. Webhookgeheim gebruikt 256-bit hex voor je eigen verificatiesysteem met een gedeeld geheim. Applicatiegeheim gebruikt 512-bit Base64URL; Ontwikkelbatch bereidt tien 256-bit tokens voor. Dit zijn configuratiesnelkoppelingen, geen universele normen of door aanbieders uitgegeven sleutels. Voor- en achtervoegsels herkennen een applicatie of omgeving. Het label live_ activeert niets en verleent geen rechten.

Van één sleutel naar een overzichtelijke export

Kopieer losse geheimen of de volledige batch. Optionele paren voegen een aparte openbare willekeurige 96-bit ID toe om een record op te zoeken. Houd het geheim privé en gebruik de ID niet voor authenticatie. JSON bewaart de exacte waarden. TXT ondersteunt regels, komma’s of spaties. CSV ontsnapt celinhoud en neutraliseert formuletekens aan het begin, soms met een apostrof. .env controleert variabelenamen en weigert ongeschikte aanhalingstekens. Het is voor Node dotenv-bestanden, niet voor shellscripts. Downloads bevatten leesbare geheimen, geen versleutelde back-ups.

Hoe we bits, bytes en tekens berekenen

Voor byteformaten nemen we ceil(doelbits / 8) willekeurige bytes en tonen bytes × 8 nominale bits. Voor N onafhankelijke, uniform gekozen tekens uit A verschillende tekens is de theoretische entropie N × log₂(A). Een bitdoel vraagt dus ceil(doelbits / log₂(A)) tekens. Zo vereisen 256 bits met alleen cijfers 78 cijfers, niet 32. Vaste voorvoegsels, achtervoegsels en een aparte openbare ID tellen niet mee voor de geheime entropie. De berekening beschrijft het generatieontwerp, niet een meting of certificering van de browserbron.

Eén willekeurige waarde, verschillende weergaven

32 bytes × 8 = 256 bits

CoderingTekens uit 32 bytes
Hex64
Base64URL43
Basis6444
Base3252

Deze lengtes zijn zonder voor- of achtervoegsel. Codering verandert de weergave, niet de onderliggende willekeur.

Onze generatiemethode

We gebruiken crypto.getRandomValues en vereisen een veilige context. Er is geen terugval op Math.random, tijdstempels, toetsenbordactiviteit of voorspelbare seeds. Bytecoderingen zijn verliesvrij. Tekensets gebruiken rejection sampling: waarden in de ongelijke rest worden weggegooid voordat bytes aan tekens worden gekoppeld. Zo vermijden we de vertekening van simpel modulo toepassen als de tekensetgrootte 256 niet deelt. Iedere batch wordt op herhaalde geheimen en ID’s gecontroleerd. Pogingen zijn begrensd; bij mislukking volgt een fout in plaats van een gedeeltelijke batch.

Wat in je browser blijft

Generatie en exportvoorbereiding gebeuren lokaal. ClockTools stuurt gegenereerde waarden niet naar servers en zet ze niet in URL’s, analyses of blijvende opslag. Ook bij aankomst vanaf een andere tool opent deze pagina een nieuw document zonder onze analyse- en sessieopnameladers. Opgeslagen en gedeelde instellingen bevatten geen vrije tekstvelden of sleutels. Gewone paginaverzoeken bereiken nog wel de hostingprovider. Kopiëren zet een waarde op het klembord; downloaden schrijft leesbare bestanden. Extensies, klembordsynchronisatie, malware en meekijkers blijven risico’s. Wissen verwijdert de resultaten uit de interface, maar garandeert geen veilige geheugenwissing en verwijdert geen externe kopieën.

Een gegenereerde sleutel veilig gebruiken

Een willekeurige reeks wordt pas een API-credential wanneer je applicatie deze registreert en controleert. Regel minimale rechten, HTTPS, intrekking, verval en rotatie in die applicatie. Zet servergeheimen niet in frontendbundels of repositories. Gebruik geschikt geheimenbeheer voor productie. Genereer voor gevoelige omgevingen bij voorkeur binnen je eigen vertrouwde infrastructuur. De Node.js-, Python- en OpenSSL-voorbeelden maken nieuwe lokale geheimen zonder waarden van een website te kopiëren. Geen website garandeert een ongecompromitteerde browser of computer.

Wat we testen en wat tests niet bewijzen

Regressietests controleren lengtes, bekende coderingsvectoren, tekensets, rejection sampling, entropie, toevoegingen, duplicaten, exports en veilige instellingenserialisatie. Browsercontroles omvatten generatie, kopiëren, exports, vertaalde lay-outs en de analysegrens. Een steekproef zonder duplicaten of met een gelijkmatig uiterlijk bewijst geen cryptografische willekeur. De tool is niet onafhankelijk gecertificeerd en tests van onze code zijn geen audit van je volledige applicatie.

Meld problemen zonder geheimen prijs te geven

Noem formaat, lengtemodus, bits of tekens, aantal, browser en reproduceerbare stappen. Gebruik een verzonnen voorbeeld, geen actieve sleutel, webhookgeheim of klantgegevens. Ons correctiebeleid geldt. Bij een bevestigd belangrijk defect moeten we de betrokken werking uitleggen, een regressietest toevoegen en aangeven of eerdere sleutels opnieuw gegenereerd moeten worden. Deze pagina aanpassen trekt geen elders geregistreerde sleutels in: vervang ze of trek ze in binnen die systemen.

Op je eigen computer genereren

De voorbeelden maken één nieuw geheim met het gekozen formaat en de ingestelde toevoegingen. Ze bevatten nooit de getoonde sleutel en maken geen accounts, rechten of vervalregels. Openbare ID’s en batches zijn niet inbegrepen.

import { randomBytes } from 'node:crypto';
const key = randomBytes(32).toString('base64url');

Veelgestelde vragen

Maakt dit een werkende sleutel voor een API van derden?

Nee. Haal die sleutel bij de aanbieder. ClockTools genereert willekeurige reeksen voor applicaties die je beheert, geen accounts, tegoeden of toegangsrechten van derden.

Maakt 512 bits iedere integratie veiliger?

Niet automatisch. Ons algemene uitgangspunt is een willekeurig geheim van 256 bits, maar protocol en applicatie bepalen formaat en grootte. Goede willekeur verhelpt geen gelekte sleutels, ontbrekende autorisatie of onveilige opslag.

Waarom zijn 32 willekeurige tekens niet altijd 256 bits?

De tekenset telt mee. 32 uniforme hextekens vertegenwoordigen 128 bits; 32 decimale cijfers ongeveer 106,3 bits. 32 willekeurige bytes vertegenwoordigen 256 nominale bits en vragen 64 hextekens of 43 Base64URL-tekens zonder opvulling.

Zijn alle gegenereerde sleutels gegarandeerd uniek?

Een wereldwijde garantie is er niet. We vinden duplicaten binnen de huidige batch. Met voldoende willekeurige bits zijn botsingen uiterst onwaarschijnlijk, maar het ontvangende systeem moet unieke credentialrecords blijven afdwingen.

Kan ik instellingen delen zonder een geheim te delen?

Ja. De link bevat alleen vooraf bepaalde waarden voor formaat, grootte, aantal en schakelaars. Sleutels, voorvoegsels, achtervoegsels en eigen tekensets worden uitgesloten. Een eigen tekenset wordt bij opslaan of delen vervangen door Base64URL.

Trekt het wissen van resultaten een sleutel in?

Nee. Het verwijdert alleen de getoonde batch. Trek een actieve sleutel in of vervang deze in de applicatie die hem accepteert. Klembordgeschiedenis, downloads en eerder blootgestelde kopieën vallen buiten deze tool.

Bronnen en gerelateerde tools