API-sleutelgenerator

Een willekeurige reeks is geen toegangssleutel van een andere aanbieder.

Genereer en registreer in je toepassing

Een willekeurige reeks is geen toegangssleutel van een andere aanbieder.

Stap 1

Kies de weergave

Volg het vereiste formaat. Vaste voorvoegsels voegen geen willekeur toe.

Stap 2

Genereer privé

Kopieer alleen naar vertrouwde doelen. Wissen of instellingen wijzigen annuleert wachtende resultaten.

Stap 3

Exporteer en trek in

Bewaar het geheim en wis het scherm. Trek actieve sleutels in bij de ontvangende toepassing.

Praktische toepassingen

Webhookgeheim

Gebruik 256-bits hex als je eigen verificatie dit formaat accepteert.

Servertoken

Base64URL met een aparte publieke ID maakt opzoeken mogelijk; de ID authenticeert niet.

Ontwikkelbatch

Tien tokens voor lokale tests. JSON bewaart exacte waarden.

Reeks van drie nieuw gegenereerde voorbeeldtokens
Drie nieuwe tokens tonen het genereren en kopiëren van een reeks. Deze voorbeeldwaarden zijn niet geregistreerd en geven geen toegang tot de API van een aanbieder.

Een identificatie is geen toegangssleutel

De optionele ID is een aparte willekeurige 96-bits hexwaarde. Hij vindt een record, maar is geen UUID en voegt geen bits aan het geheim toe.

UUID’s bevatten versie- en variantvelden; sommige ordenen tijdgegevens. Ook een willekeurige UUID voldoet niet automatisch aan een authenticatieprotocol.

Scheid ID, rechten en geheim. Controleer uniciteit op de server en vervang blootgestelde geheimen. De standaard behandelt dit beveiligingsverschil. UUID-beveiliging in RFC 9562.

Bytes en weergave zijn verschillend

  1. 32 × 8 = 256Aantal willekeurige bytes
  2. 64 HEX / 43 Base64URLGelijkwaardige coderingen
  3. N × log₂(A)Alfabetberekening
Rekenvoorbeeld, geen geheim. Voorvoegsels en IDs verhogen de entropie niet.

Lengte bewijst geen willekeur

32 willekeurige bytes leveren nominaal 256 bits: 64 hextekens of 43 Base64URL-tekens zonder padding. De langere weergave is niet sterker.

N uniforme keuzes uit A symbolen geven theoretisch N × log₂(A) bits. Rejection sampling voorkomt modulobias, maar certificeert de bron niet.

crypto.getRandomValues is vereist; Math.random is nooit een vervanger. Een fraaie verdeling valideert geen browser. NIST beschrijft generatoren, zonder deze pagina te certificeren. NIST SP 800-90A Rev. 1.

Methode en beperkingen

Cryptografische willekeur is vereist, met rejection sampling voor alfabetten. Dubbelen worden alleen binnen de huidige batch gecontroleerd. Wissen en verlaten maken wachtend werk ongeldig; er wordt geen deelbatch gepubliceerd.

Geen toegang of rechten van aanbieders worden gemaakt. Sleutels komen niet in links of voorkeuren. Klembord en onversleutelde bestanden vallen buiten de controle van de pagina.

Meld formaat, grootte en verzonnen voorbeeld, nooit een echt geheim. Een bevestigde fout kan vervanging van geregistreerde sleutels vereisen.

Methode en beperkingen · Correctiebeleid

Veelgestelde vragen

Maakt de ID het geheim sterker?

Nee. Het is een publieke opzoekidentificatie.

Kan ik een wachtende batch annuleren?

Ja. Wis resultaten of verlaat de pagina vóór publicatie.

Is dit NIST-gecertificeerd?

Nee. Bronnen leggen begrippen uit, maar certificeren de site niet.

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.

Stel dat je applicatie maximaal 48 tekens accepteert, inclusief een voorvoegsel dev_. Bij 256 bits levert Base64URL 43 willekeurige tekens op, zodat de waarde inclusief het voorvoegsel van vier tekens in totaal 47 tekens telt. Hex levert 64 willekeurige tekens op en zou 68 worden; dat past niet. Een achtervoegsel neemt extra ruimte binnen dezelfde limiet in. De willekeurige lengte en totale lengte die de tool toont beantwoorden verschillende vragen: de eerste beschrijft het willekeurige deel van de geheime waarde; de tweede vertelt wat het ontvangende veld moet kunnen bevatten. RFC 4648 over Base64-coderingen legt uit waarom weergaven van dezelfde bytes verschillende lengtes hebben. Controleer vóór je het kortere formaat kiest ook de tekenset van de ontvanger, niet alleen de limiet.

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.

Bij een eigen tekenset betekent afdrukbaar hier ASCII zonder spaties: letters met accenten, emoji, tabs en spaties worden geweigerd. Na ontdubbelen en eventuele verwijdering van vergelijkbare tekens moeten minstens twee verschillende keuzes overblijven. Wordt de tekenset ongeldig, pas hem dan bewust aan in plaats van te verwachten dat de tool een andere tekenset invult. Voor- en achtervoegsels volgen een andere regel: elk mag maximaal 32 ASCII-letters, cijfers of de symbolen _ . : - bevatten. Een tekenreeks die als tekenset wordt geaccepteerd, wordt niet vanzelf als label geaccepteerd.

Exact aantal tekens geldt voor tekensets, niet voor bytecoderingen. Een vaste veldlimiet betekent niet automatisch een vaste hoeveelheid willekeur. Zo hebben 32 uniform gekozen hexadecimale tekens 128 theoretische bits, terwijl 32 keuzes uit een tekenset van 64 verschillende tekens 192 hebben. Als het veld te kort is voor de door de applicatie vereiste grootte, kort een al gegenereerde waarde dan niet in en tel het label niet mee als willekeurige tekens. Kies een passende weergave en controleer de berekening voor je genereert; past geen toegestane combinatie, dan moet de applicatie-eis worden verduidelijkt.

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.

Resultaten verbergen is nuttig wanneer een scherm zichtbaar is voor anderen, maar de 24 maskeringspunten zijn een weergaveafspraak, niet de lengte van het geheim. Bij kopiëren en exporteren worden nog steeds de echte waarden gebruikt. Als je generatie-instellingen wijzigt, wordt de getoonde batch gewist, ook bij een formaatwijziging: de tool bereidt een nieuwe generatie voor in plaats van het oude geheim naar een andere codering om te zetten. Zet een batch die je nodig hebt veilig over voordat je die instellingen wijzigt. In het exportvenster wijzigen bestandsformaat of TXT-scheiding alleen de vorm van dezelfde batch.

Er worden maar 20 resultaten per pagina getoond, maar Alles kopiëren en exporteren gebruiken de volledige batch. Met ID-paren ingeschakeld kopieert een losse knop Kopiëren alleen het geheim. JSON zonder paren is een array van tekenreeksen; met paren is het een array van objecten met velden key_id en api_key. Laat die vorm aansluiten op je importproces in plaats van de openbare ID als tweede geheim te behandelen of aan te nemen dat de eerste zichtbare pagina de volledige download is. Houd de gekozen ID en het geheim bij elkaar wanneer je credentialrecords registreert.

Kies JSON wanneer een machine de exacte geheime tekens moet ontvangen. CSV is voorbereid voor weergave in spreadsheets: een waarde die met een formuleteken begint, zoals -example, kan een apostrof aan het begin krijgen, waardoor een algemene CSV-parser mogelijk een andere letterlijke waarde leest. Het voorbeeld is verzonnen en geen bruikbare sleutel. Verwijder niet uit elke geïmporteerde sleutel alle apostroffen; een apostrof kan ook echte uitvoer uit de tekenset zijn. De OWASP-richtlijn over CSV-injectie legt zowel formule-interpretatie als de grenzen van spreadsheet-escaping uit. Een CSV opnieuw opslaan in spreadsheetsoftware is geen universele veiligheidsgarantie en is een onnodige verwerkingsstap voor een geheime productiewaarde.

Voor .env is een naam zoals APP_TOKEN geldig; 1TOKEN of APP-TOKEN niet. De tool beperkt de naam tot 64 tekens en weigert waarden met een dubbel aanhalingsteken of backslash, in plaats van te raden hoe een andere loader ze zal interpreteren. Node.js beschrijft zijn eigen dotenv-syntaxis; controleer afzonderlijk of andere programma's die het bestand inlezen ermee overweg kunnen. Als export een waarde uit een eigen tekenset weigert, gebruik dan JSON of een gecontroleerde overdracht die bij die applicatie past. Een gedownload bestand hernoemen verwijdert de onverenigbare tekens niet, en een .env-bestand met geheimen moet nog steeds beschermd worden opgeslagen.

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
Base6444
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. Deze geautomatiseerde tests bewijzen geen betrouwbaarheid in elke browser en op elk apparaat en verifiëren niet het gedrag van het systeemklembord, het opslaan van bestanden of de werking van analysescripts op de gepubliceerde website.

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

Methodiek en beperkingen: Web Crypto · RFC 4648

GUID-generator · Methodiek en beperkingen · Correctiebeleid