Datei hochladen
  1. base64hub
  2. Schlüssel & Hashes
  3. Base64-Schlüsselgenerator

Base64-Schlüsselgenerator

Klicken Sie auf eine Vorlage, um einen Schlüssel genau in dem Format zu erhalten, das Ihr Framework erwartet: 32 Zufallsbytes als Base64, einen Laravel-APP_KEY, einen AES-Schlüssel, ein HMAC- oder JWT-Secret. Jeder Schlüssel wird lokal mit dem sicheren Zufallsgenerator des Browsers erzeugt.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Vorlagen Laravel, AES, HMAC, JWT, Django, Rails Aktualisiert 27.10.2026

Entropie –Länge –

Erzeugt mit crypto.getRandomValues, dem kryptografisch sicheren Zufallsgenerator des Browsers. Nichts wird gespeichert oder gesendet.

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So erzeugen Sie einen Schlüssel

  1. Klicken Sie auf die Vorlage, die zu Ihrer Konfiguration passt. Beim Öffnen der Seite ist 32 Bytes ausgewählt.
  2. Kopieren Sie den Wert aus Zufallswerte. Vorlagen mit einer Konfigurationszeile, etwa Laravel oder Auth.js, zeigen sie zusätzlich unter Zum Einfügen.
  3. Drücken Sie Neu erzeugen für einen weiteren Schlüssel oder erhöhen Sie Anzahl, um mehrere auf einmal zu erzeugen, zum Beispiel einen pro Umgebung.

Vorlagen setzen Byte-Anzahl und Format für Sie. Ändern Sie eines der Felder, schaltet das Tool auf Eigene zurück und behält Ihre Werte.

Vorlagen und wohin der Schlüssel gehört

VorlageWas Sie erhaltenLängeTypischer Ort
16 / 32 / 64 BytesZufallsbytes als Base6424 / 44 / 88allgemeine Schlüssel, Salts, Secrets
Laravel APP_KEYbase64: + 32 Bytes51APP_KEY in .env
AES-128-Schlüssel16 Bytes, Base6424AES-128-GCM oder -CBC
AES-256-Schlüssel32 Bytes, Base6444AES-256-GCM oder -CBC
HMAC-Secret32 Bytes, Base6444HMAC-SHA256-Signaturen, Webhooks
JWT-HS256-Secret32 Bytes, Base64URL43JWT_SECRET für HS256-Tokens
Auth.js-Secret32 Bytes, Base6444AUTH_SECRET (früher NEXTAUTH_SECRET)
Django SECRET_KEY50 Zeichen aus Djangos Alphabet50SECRET_KEY in den Settings
Rails secret_key_base64 Bytes, Hex128secret_key_base
API-Token32 Bytes, Base64URL43Bearer-Tokens, Einladungslinks
UUID v4 (Base64URL)eine zufällige UUID in Kurzform22kompakte IDs; die kanonische UUID wird mit angezeigt

Die Vorlage für die CSP-Nonce gehört zu einer anderen Aufgabe und hat eine eigene Seite, den CSP-Nonce-Generator.

Die Größen folgen den Algorithmen. AES-Schlüssel sind genau 16, 24 oder 32 Bytes lang; alles andere wird abgelehnt. RFC 7518 verlangt für HS256 Secrets von mindestens 256 Bit, deshalb nutzt die JWT-Vorlage 32 Bytes. Ein HMAC-Schlüssel, der kürzer als die Hash-Ausgabe ist, schwächt HMAC, daher passen 32 Bytes zu HMAC-SHA256 und die 64-Byte-Vorlage zu HMAC-SHA512. Die Django-Vorlage zieht ihre 50 Zeichen per Rejection Sampling, sodass jedes Zeichen des Alphabets gleich wahrscheinlich ist, genau wie bei Djangos eigenem get_random_secret_key().

Ein Base64-Schlüssel ist Text, der Schlüssel sind Bytes

Der Wert, den Sie kopieren, ist eine Base64-Darstellung zufälliger Bytes. Code, der ihn verwendet, muss ihn zuerst dekodieren:

import base64, os

key = base64.b64decode(os.environ["AES_KEY"])
assert len(key) == 32

In Node.js lautet das Buffer.from(process.env.AES_KEY, "base64"). Übergeben Sie die 44 Zeichen lange Zeichenkette direkt an eine AES-Bibliothek, lehnt sie sie entweder ab (AESGCM key must be 128, 192, or 256 bits in Python, Invalid key length in Node.js) oder verwendet, bei nachsichtigeren Bibliotheken, kommentarlos die falschen Bytes. Frameworks, die ihre Schlüssel selbst einlesen, etwa Laravel mit dem Präfix base64:, übernehmen das Dekodieren für Sie.

Base64URL und Standard-Base64 ergeben dieselben Bytes, Parser sind aber oft streng darin, welche Variante sie akzeptieren. Behalten Sie das Format der Vorlage bei, es sei denn, Sie wissen, dass die Gegenseite auch das andere annimmt.

Fernet-Schlüssel und andere Formate

Das Python-Paket cryptography erwartet einen Fernet-Schlüssel als 32 Bytes in URL-sicherem Base64 mit Padding, also 44 Zeichen. Die Vorlagen für JWT und API-Token liefern die URL-sichere Form ohne =; hängen Sie also eines an oder erzeugen Sie den Schlüssel in Python:

from cryptography.fernet import Fernet

print(Fernet.generate_key().decode())

Für alles andere gehen Sie von der Byte-Anzahl aus: Wählen Sie Eigene, tragen Sie die Bytes ein, die Ihre Bibliothek dokumentiert, und wählen Sie Base64, Base64URL oder Hex. Der Zufalls-Base64-Generator erklärt die Ausgabelängen, und mit HMAC in Base64 oder AES-Verschlüsselung können Sie einen frischen Schlüssel gleich ausprobieren.

Umgang mit Schlüsseln nach dem Erzeugen

Ein hier erzeugter Schlüssel existiert nur in diesem Tab, bis Sie ihn kopieren. Danach ist er so sicher wie der Ort, an dem Sie ihn einfügen. Bewahren Sie Produktionsschlüssel im Secret Store Ihrer Plattform oder in einem Secrets-Manager auf, verwenden Sie pro Umgebung einen eigenen Schlüssel und committen Sie sie nie; ein Schlüssel, der in ein Git-Repository gelangt ist, gilt als öffentlich und muss ersetzt werden. Einen Verschlüsselungsschlüssel zu rotieren heißt, alte Daten neu zu verschlüsseln oder den alten Schlüssel zum Entschlüsseln aufzubewahren. Planen Sie das ein, bevor Sie auf einem Live-System den APP_KEY austauschen.

Häufige Fragen

Wie erzeuge ich einen 32-Byte-Schlüssel in Base64?

Beim Öffnen der Seite ist die Vorlage 32 Bytes ausgewählt, der Schlüssel in der Ausgabe ist also schon einer: 44 Zeichen, die auf = enden. Im Terminal erledigt openssl rand -base64 32 dasselbe.

Kann ich die 44 Zeichen lange Base64-Zeichenkette direkt als AES-256-Schlüssel verwenden?

Nein. AES-256 braucht 32 rohe Bytes, und die 44 Zeichen sind deren Base64-Text. Dekodieren Sie die Zeichenkette zuerst; übergeben Sie den Text selbst, scheitert das mit einem Fehler wie “Invalid key length” in Node.js.

Wie erzeuge ich einen Laravel-APP_KEY ohne artisan?

Wählen Sie die Vorlage Laravel APP_KEY und kopieren Sie die Zeile APP_KEY=base64:… in die .env. Sie hat dasselbe Format, das php artisan key:generate schreibt: das Präfix base64: plus 32 Zufallsbytes für die Standardchiffre AES-256-CBC.

Wie erstelle ich hier einen Fernet-Schlüssel?

Eine Fernet-Vorlage gibt es nicht. Wählen Sie 32 Bytes, stellen Sie Format auf Base64URL und hängen Sie an die 43 Zeichen ein = an, denn Fernet erwartet URL-sicheres Base64 mit Padding, 44 Zeichen lang. Oder führen Sie in Python Fernet.generate_key() aus.

Ist es sicher, Produktionsschlüssel im Browser zu erzeugen?

Der Schlüssel stammt aus crypto.getRandomValues, einem kryptografisch sicheren Generator, und die Seite kann ihn nirgendwohin senden. Das größere Risiko ist, was danach passiert: Legen Sie den Schlüssel in einem Secrets-Manager oder einer geschützten Umgebungsvariable ab, niemals in einem Repository.