Zufälliger API-Schlüssel-Generator - Kostenlose sichere 32-Zeichen-Schlüssel
Generieren Sie sofort kryptografisch sichere API-Schlüssel. Kostenloses Online-Tool erstellt zufällige 32-Zeichen-alphanumerische Schlüssel zur Authentifizierung. Generierung auf Clientseite, keine Speicherung.
API-Schlüssel-Generator
Dokumentation
Ein Generator für zufällige API-Schlüssel ist ein Werkzeug, das eine zufällige Zeichenfolge aus Buchstaben und Zahlen zur Verwendung als passwortähnlichen Code zwischen zwei Computerprogrammen erstellt. Dieser Generator läuft vollständig im Webbrowser des Besuchers. Die Schlüssellänge kann zwischen 8 und 128 Zeichen gewählt werden; standardmäßig sind 32 Zeichen eingestellt.
Was ist ein API-Schlüssel?
Ein API-Schlüssel ist eine Zeichenfolge, die ein Programm zusammen mit einer Anfrage sendet, um nachzuweisen, dass es einen Dienst verwenden darf. Ein Webserver prüft den Schlüssel, bevor er die Anfrage beantwortet. Im Gegensatz zu einem Benutzernamen und einem Passwort identifiziert ein API-Schlüssel normalerweise eine Anwendung oder ein Skript, nicht eine Person.
Schlüssel sind besonders sicher, wenn niemand sie erraten kann. Ein Generator, der echte Zufälligkeit verwendet, vermeidet die Muster, die in von Personen eingegebenen Schlüsseln vorkommen, etwa wiederholte Zeichen oder kurze, leicht zu merkende Wörter.
So funktioniert dieser Generator
Das Werkzeug erstellt jeden Schlüssel aus einer festen Menge von 62 Zeichen: den 26 Großbuchstaben A–Z, den 26 Kleinbuchstaben a–z und den 10 Ziffern 0–9. Für einen Schlüssel der Länge n wählt es nacheinander n Zeichen aus dieser Menge aus.
Jedes Zeichen stammt aus der Web-Crypto-API des Browsers, genauer aus crypto.getRandomValues(). Dabei handelt es sich um einen kryptografisch sicheren Zufallszahlengenerator (CSPRNG), im Gegensatz zu JavaScripts Math.random(), das vorhersehbar und für sicherheitsrelevante Werte ungeeignet ist.
Um aus einem zufälligen Byte (mit 256 möglichen Werten) gleichmäßig ein Zeichen aus 62 Möglichkeiten auszuwählen, kann der Generator nicht einfach byte % 62 verwenden. Da sich 256 nicht ohne Rest durch 62 teilen lässt, würde ein einfaches Modulo-Verfahren die ersten Zeichen der Menge etwas wahrscheinlicher machen als die übrigen. Das Werkzeug vermeidet diese Verzerrung durch ein Verwerfungsverfahren: Es verwirft jedes zufällige Byte, das diese Verzerrung verursachen würde, und zieht stattdessen ein neues. Daher hat jedes Zeichen im fertigen Schlüssel an jeder Position die gleiche, unverzerrte Wahrscheinlichkeit.
So wird ein API-Schlüssel erzeugt
- Geben Sie eine Schlüssellänge zwischen 8 und 128 Zeichen ein oder behalten Sie den Standardwert von 32 bei. Eine Zahl außerhalb dieses Bereichs wird markiert, und stattdessen wird die nächstgelegene zulässige Länge verwendet.
- Klicken Sie auf „Generate“. Der Schlüssel erscheint in einem Textfeld und wird vollständig im Browser erstellt. Durch Klicken auf das Feld wird der gesamte Schlüssel ausgewählt.
- Klicken Sie auf „Copy“, um den Schlüssel in die Zwischenablage zu kopieren. Einige Browser bitten beim ersten Mal um eine Berechtigung.
- Klicken Sie auf „Regenerate“, um einen neuen Schlüssel gleicher Länge zu erzeugen, oder auf „Reset“, um den Schlüssel zu löschen und zur Standardlänge von 32 zurückzukehren.
Unter dem Schlüssel zeigt das Werkzeug drei Werte an: die Schlüssellänge in Zeichen, die Größe der Zeichenmenge (immer 62) und die Entropie in Bit.
Kein Schlüssel wird an einen Server gesendet, protokolliert oder gespeichert. Die Erzeugung erfolgt mit lokalem JavaScript-Code. Daher zeigt eine Prüfung der Netzwerkaktivität des Browsers während der Erzeugung keine ausgehenden Anfragen.
So wird die Anzahl möglicher Schlüssel berechnet
Die Anzahl verschiedener Schlüssel, die bei einer bestimmten Länge erzeugt werden können, folgt einer einfachen Formel:
Dabei steht N für die Anzahl der möglichen Schlüssel, c für die Größe der Zeichenmenge und n für die Schlüssellänge.
Die Größe der Zeichenmenge beträgt bei diesem Werkzeug immer 62. Für die Standardlänge von 32 gilt:
N = 62³² ≈ 2,27 × 10⁵⁷
Diese Zahl wird mithilfe der folgenden Formel auch als Entropie, gemessen in Bit, ausgedrückt:
Dabei steht H für die Entropie in Bit.
Für einen Schlüssel mit 32 Zeichen gilt: 32 × log₂(62) ≈ 32 × 5,95 ≈ 190,5 Bit.
Beispielrechnung: Zeit zum Ausprobieren jedes Schlüssels
Angenommen, ein Angreifer könnte eine Milliarde (10⁹) Schlüssel pro Sekunde testen – eine unrealistisch hohe Rate für jedes reale System. Das Ausprobieren jedes möglichen Schlüssels mit 32 Zeichen würde dauern:
2,27 × 10⁵⁷ ÷ 10⁹ = 2,27 × 10⁴⁸ Sekunden ≈ 7,2 × 10⁴⁰ Jahre
Zum Vergleich: Das Universum ist etwa 1,4 × 10¹⁰ Jahre alt. Eine Brute-Force-Suche durch alle möglichen Schlüssel stellt bei dieser Länge keine praktische Bedrohung dar. Kürzere Schlüssel verkleinern diese Zahl schnell: Ein Schlüssel mit 8 Zeichen hat nur 62⁸ ≈ 2,18 × 10¹⁴ mögliche Werte, die ein schneller Computer innerhalb weniger Tage durchsuchen könnte.
Warum Anwendungen API-Schlüssel verwenden
API-Schlüssel bieten einem Dienst eine einfache Möglichkeit festzustellen, welche Anwendung eine Anfrage stellt. Das ist aus mehreren Gründen wichtig.
Authentifizierung. Ein Server kann Anfragen ohne gültigen Schlüssel ablehnen und dadurch den größten Teil der beiläufigen missbräuchlichen Nutzung blockieren.
Nutzungsverfolgung. Da jeder Client einen anderen Schlüssel besitzen kann, kann ein Dienst messen, wie stark jeder einzelne ihn nutzt, und für jeden Schlüssel eigene Rate-Limits festlegen.
Widerruf. Ein einzelner kompromittierter Schlüssel kann deaktiviert werden, ohne andere Clients zu beeinträchtigen, da jeder Schlüssel unabhängig ist.
API-Schlüssel sind einfacher zu implementieren als OAuth 2,0, ein Authentifizierungsstandard, der auf zeitlich begrenzten, automatisch erneuerten Token basiert. OAuth eignet sich für öffentlich zugängliche Dienste, die mit personenbezogenen Nutzerdaten umgehen. API-Schlüssel sind bei internen Werkzeugen, Skripten und Aufrufen zwischen Diensten üblich, bei denen ein langfristig gültiger Berechtigungsnachweis akzeptabel ist.
Sicherheitsmaßnahmen für API-Schlüssel
Einige Maßnahmen verringern das Risiko eines offengelegten Schlüssels:
- Schlüssel nicht im Quellcode speichern. Die Versionskontrollhistorie lässt sich nur schwer löschen, und öffentliche Repositorys werden ständig nach offengelegten Zugangsdaten durchsucht. Speichern Sie Schlüssel stattdessen in Umgebungsvariablen oder einem Geheimnismanager.
- Schlüssel regelmäßig austauschen. Wird ein Schlüssel alle paar Monate ersetzt, begrenzt das den Zeitraum, in dem ein offengelegter Schlüssel für einen Angreifer nützlich bleibt.
- Einem Schlüssel nur die erforderlichen Mindestberechtigungen erteilen. Ein Schlüssel, der Daten ausschließlich lesen kann, sollte nicht auch zum Schreiben oder Löschen berechtigen.
- Auf ungewöhnliche Aktivitäten achten, etwa einen plötzlichen Anstieg der Anfragen von einem Schlüssel.
Einschränkungen
Dieses Werkzeug speichert keine Aufzeichnungen über erzeugte Schlüssel und kann daher nicht garantieren, dass ein Schlüssel noch nie zuvor erzeugt wurde. Die Wahrscheinlichkeit, dass zwei zufällige Schlüssel mit 32 Zeichen übereinstimmen, beträgt etwa 1 zu (2,5 cm) 2,27 × 10⁵⁷. Das ist für den gewöhnlichen Gebrauch praktisch gleich null. Systeme, die eine absolute Garantie der Eindeutigkeit benötigen, etwa Primärschlüssel in Datenbanken, sollten neue Werte jedoch auf einem Server mit vorhandenen Werten vergleichen.
Die Zeichenmenge besteht fest aus Großbuchstaben, Kleinbuchstaben und Ziffern. Sie enthält keine Symbole wie ! oder -. Dadurch lassen sich Schlüssel in den meisten URLs, Headern und Konfigurationsdateien ohne Escaping einfügen.
Häufig gestellte Fragen
Was ist ein Generator für API-Schlüssel?
Es handelt sich um ein Werkzeug, das zufällige Zeichenfolgen zur Verwendung als Authentifizierungsdaten zwischen Softwareanwendungen erzeugt. Dieser Generator erstellt Schlüssel mit 8 bis 128 Zeichen aus 62 möglichen Zeichen und verwendet dazu den kryptografisch sicheren Zufallszahlengenerator des Browsers.
Ist ein Schlüssel aus diesem Werkzeug sicher genug für den Produktiveinsatz?
Die Zufallserzeugung selbst ist kryptografisch sicher. Die allgemeine Sicherheit hängt außerdem davon ab, wie der Schlüssel anschließend gespeichert und übertragen wird: Niemals in die Quellcodeverwaltung übernehmen, immer über HTTPS übertragen und regelmäßig austauschen.
Welche Länge sollte ich wählen?
Der Standardwert von 32 Zeichen ergibt etwa 2,27 × 10⁵⁷ mögliche Kombinationen – weit mehr, als bei einem realistischen Brute-Force-Versuch durchsucht werden könnten. Kürzere Schlüssel, etwa mit 16 Zeichen, können für interne Werkzeuge mit geringem Risiko geeignet sein. Sehr lange Schlüssel bieten nur wenig zusätzlichen Schutz, sind aber schwieriger zu speichern und einzufügen.
Kann ich eine benutzerdefinierte Länge festlegen?
Ja. Das Längenfeld akzeptiert jede ganze Zahl von 8 bis 128. Die Zeichenmenge selbst (A–Z, a–z, 0–9) bleibt unverändert.
Speichert oder überträgt das Werkzeug die erzeugten Schlüssel?
Nein. Jeder Schlüssel wird mit lokalem JavaScript im Browser erzeugt. Nichts wird an einen Server gesendet, protokolliert oder gespeichert.
Was ist der Unterschied zwischen einem API-Schlüssel und einem OAuth-Token?
Ein API-Schlüssel ist ein langfristig gültiger Berechtigungsnachweis, der gültig bleibt, bis ihn jemand widerruft. Ein OAuth-Token läuft nach einer festgelegten Zeit automatisch ab und kann ohne direkte Beteiligung des Benutzers erneuert werden. OAuth eignet sich für öffentliche Dienste, die personenbezogene Daten verarbeiten; API-Schlüssel eignen sich für einfachere interne oder Entwicklungszwecke.
Welche Browser unterstützt dieses Werkzeug?
Jeder Browser, der die Web-Crypto-API bereitstellt. Dazu gehören alle Versionen von Chrome, Firefox, Safari, Edge und Opera, die im vergangenen Jahrzehnt veröffentlicht wurden. Fehlt diese API, zeigt das Werkzeug eine Fehlermeldung an. Es greift niemals auf Math.random() zurück, da diese Funktion nicht sicher ist.