Anleitung
- Legen Sie fest, wie viele zufällige Bytes jedes Token enthalten soll. 32 Bytes (256 Bits) sind ein sicherer Standardwert für Geheimnisse.
- Wählen Sie eine Kodierung, die zum Verwendungszweck des Tokens passt, und fügen Sie optional ein Präfix wie „myapp_live_“ hinzu.
- Legen Sie fest, wie viele Tokens Sie benötigen, und kopieren Sie dann eines oder verwenden Sie „Alle kopieren“. Wählen Sie „Erneut generieren“, um einen neuen Satz zu erstellen.
So funktioniert es
Tokens werden aus zufälligen Bytes erzeugt, die crypto.getRandomValues bereitstellt – dem kryptografisch sicheren Zufallszahlengenerator in Ihrem Browser und Betriebssystem. Math.random wird nie verwendet.
Für Hex, Base64 und Base64URL verwendet das Tool genau die von Ihnen gewählte Anzahl an Bytes und codiert sie. Ein Token aus 32 Bytes hat daher immer 256 Bit Entropie: 64 Hex-Zeichen, 44 Base64-Zeichen (einschließlich eines = als Auffüllzeichen) oder 43 Base64URL-Zeichen. Base64URL ersetzt + und / durch - und _ und lässt das Auffüllzeichen weg. So kann es ohne Escaping in URLs, Dateinamen und HTTP-Headern verwendet werden.
Alphanumerische Tokens enthalten nur A–Z, a–z und 0–9. Dadurch werden Zeichen vermieden, die manche Systeme als Sonderzeichen behandeln. Jedes Zeichen trägt etwa 5,95 Bit bei. Das Tool erzeugt daher genug Zeichen, um mindestens die gewählte Bitanzahl zu erreichen (43 Zeichen für 256 Bit). Die Zeichen werden per Rejection Sampling ausgewählt, damit alle 62 gleich wahrscheinlich sind.
Das Präfix wird als Klartext hinzugefügt und trägt nicht zur Entropie bei. Präfixe wie „sk_live_“ machen durchgesickerte Schlüssel leichter erkennbar und helfen dabei, sie mit Secret-Scannern zu finden. Speichern Sie Geheimnisse in einem Passwortmanager oder Secret Store, nicht im Quellcode.
Beispiele
Ein Geheimnis zum Signieren von Webhooks
32 Bytes in Hex ergeben ein 64 Zeichen langes Geheimnis mit 256 Bit Entropie. Sie können es sowohl in der Konfiguration des Senders als auch des Empfängers für HMAC-SHA-256-Signaturen eintragen.
Ein API-Schlüssel mit erkennbarem Präfix
Wählen Sie 24 Bytes, Alphanumeric und das Präfix „acme_live_“. Jeder Schlüssel besteht aus acme_live_ gefolgt von 33 Buchstaben und Ziffern, hat mindestens 192 Bit Entropie und lässt sich in Protokollen oder mit einem Secret-Scanner leicht erkennen.
Ein URL-sicheres Token zum Zurücksetzen
16 Bytes in Base64URL ergeben ein 22 Zeichen langes Token (128 Bit), das Sie direkt in einen Link wie /reset?token=… einfügen können – ohne Prozentcodierung.
Häufig gestellte Fragen
Wie viele Bytes sollte ein Geheimnis haben?
128 Bit (16 Bytes) reichen aus, um das Erraten von Tokens wie Sitzungs-IDs unmöglich zu machen. Für langlebige Geheimnisse wie Signaturschlüssel werden üblicherweise 256 Bit (32 Bytes) empfohlen. Das entspricht der Ausgabelänge von SHA-256.
Welche Kodierung sollte ich wählen?
Bei gleicher Byteanzahl ist die Entropie identisch; nur die Textdarstellung unterscheidet sich. Verwenden Sie Hex für maximale Kompatibilität, Base64URL für kurze Tokens in URLs und Headern und alphanumerische Zeichen, wenn ein System Satzzeichen ablehnt.
Werden die Tokens gespeichert oder protokolliert?
Nein. Sie werden in diesem Browser-Tab generiert und verschwinden, wenn Sie die Seite verlassen. Sie werden weder an einen Server gesendet noch in Analysedaten aufgenommen.
Kann ich diese Tokens als Passwörter verwenden?
Ja, sie sind zufällig genug. Websites verlangen jedoch oft eine Mischung aus verschiedenen Zeichentypen. Mit dem Passwort-Generator können Sie diese Regeln direkt festlegen.
Datenschutz
Die Tokens werden mit crypto.getRandomValues in Ihrem Browser generiert. Sie werden weder hochgeladen, gespeichert, protokolliert noch an Analysedienste gesendet. Erfasst wird lediglich ein anonymes Ereignis, dass das Tool verwendet wurde.