Handy Dev Tools
Einfache Online-Tools für den Alltag.

Keine Favoriten

    Base64-Kodierer/-Dekodierer
    Markdown zu HTML
    HTML zu Markdown
    URL Encoder/Decoder
    Unicode-Escape-Konverter
    Unicode En-/Decodierung
    SQL-Formatierer
    SQL-Splitter
    SQL-Parameterbindung
    JSON-Formatierer
    XML-Formatierer
    YAML-Formatierer
    GraphQL-Formatierer
    JSON zu YAML
    YAML zu JSON
    Konvertierung JSON zu TOML
    Konvertierung TOML zu JSON
    HTML-Entitäten Enkodieren/Dekodieren
    Konvertierung TOML zu YAML
    Konvertierung YAML zu TOML
    CSV zu SQL INSERT
    Markdown-Tabellengenerator
    Konvertierung JSON zu XML
    Konvertierung XML zu JSON
    UUID-Generator
    ULID-Generator
    Passwort-Generator
    Hash-Generator
    Lorem-Ipsum-Generator
    Lorem-Picsum-Bild-URL-Generator
    Testdaten-Generator
    QR-Code-Generator
    S3-Pfad-Parser & Konverter
    IP-Adressrechner
    Subnetzaufteilung
    Subnetzkonsolidierung
    CloudFront-Signatur-URL-Generator
    RDS-Verbindungsstring-Generator
    Koordinaten-Konverter
    Geo-Format-Konverter
    JWT-Decoder & Parser
    Basic-Authentifizierung
    Passwort-Stärke-Analyzer
    Kreditkarten-Validator
    PII Mask (sensible Daten maskieren)
    RSA-Schlüsselpaar-Generator
    Schreibweisen-Konvertierung
    Romaji-Konvertierung
    Römische-Zahlen-Konverter
    Phonetischer-Code-Konverter
    Zeichenzähler
    Text-Diff
    HTML-Tag-Entferner
    RegEx-Tester
    Farben-Konvertierung
    Würfel
    Crontab-Generator
    Crontab-Parser
    Emoji-Auswahl
    Unix-Zeitstempel-Konverter
    HTTP-Statuscode-Suche
    Portnummern-Suche
    MIME-Typ-Suche
    Base64-Datei-Konverter
    Bild Base64 Encode/Decode
    User-Agent-Parser
    URL-Parser
    OGP-Checker
    Commit-Nachricht-Generator
    Chmod-Rechner
    Terminal-GIF-Ersteller
    .env Parser & Validator
Ctrl+K

RSA-Schlüsselpaar-Generator

Erzeugen Sie RSA-Schlüsselpaare (öffentlich/privat) sofort im Browser. Unterstützt 512–8192 Bit, PEM-Format (PKCS#8 / X.509). Kompatibel mit OpenSSL, SSH, JWT und SSL/TLS. Kein Login erforderlich. Schlüssel verlassen Ihren Browser nicht.

Default: 2048 bits

Generating key pair...

PEM-Schlüsselprüfung

Fügen Sie einen öffentlichen oder privaten PEM-Schlüssel ein, um zu prüfen, ob er gültig ist.

Anleitung

Über dieses Tool

Verwenden Sie diesen RSA-Schlüsselpaar-Generator, wenn Sie einen öffentlichen und privaten Schlüssel für Entwicklung, SSH, TLS oder JWT-Experimente benötigen. Wählen Sie eine Schlüsselgröße wie 2048 Bit für alltägliche Tests oder 4096 Bit für ein stärkeres Paar und exportieren Sie anschließend PEM, geeignet für OpenSSL-ähnliche Workflows (privater Schlüssel im PKCS#8-Format und öffentlicher Schlüssel im X.509-Format). Die Generierung erfolgt vollständig in Ihrem Browser. Ihre Schlüssel werden auf Ihrem Gerät erstellt und nicht an die Server von Handy Dev Tools hochgeladen — wichtig, wenn Sie mit privatem Material arbeiten, selbst außerhalb der Produktion. Das Tool ist kostenlos und erfordert kein Konto. Behandeln Sie generierte Schlüssel als Entwicklungs-Anmeldedaten, sofern Sie nicht Ihrem eigenen sicheren Schlüsselverwaltungsprozess folgen. Bevorzugen Sie 2048 Bit oder mehr für realistische Tests, und halten Sie private Schlüssel aus Versionskontrolle und gemeinsam genutzten Chats fern.

Anleitung

1. When you open the page, a key pair is automatically generated with the default (2048 bits), and the public and private keys are displayed. 2. To change key length: Enter a value that is a multiple of 8 between 512 and 8192 bits in the key length field, then click "Generate". 3. To generate a new key pair with the same key length: Click the "Regenerate" button. 4. Copy keys: Click the copy button in each key's display area to copy to the clipboard. 5. Download keys: Click the download button in each key's display area to download as a PEM file (public key: public_key.pem, private key: private_key.pem).

Optionen

Key length: Must be between 512 and 8192 bits and a multiple of 8. Default is 2048 bits. Use the up/down buttons in the number input to increment/decrement by 8. Invalid values (out of range or not a multiple of 8) show an error message and disable the "Generate" and "Regenerate" buttons.

Anwendungsfälle

• Generating key pairs for SSH connections (public key authentication setup) • Creating private keys for SSL/TLS certificates • Generating key pairs for JWT signing • Creating key pairs for encrypted communication • Temporary key pair generation for development and testing • Generating key pairs for code signing

Code-Beispiele

JavaScript (Web Crypto API)
Read Only
1// Generate key pair
2const keyPair = await window.crypto.subtle.generateKey(
3  {
4    name: 'RSA-OAEP',
5    modulusLength: 2048,
6    publicExponent: new Uint8Array([1, 0, 1]), // 65537
7    hash: 'SHA-256',
8  },
9  true, // extractable
10  ['encrypt', 'decrypt']
11);
Python (cryptography)
Read Only
1from cryptography.hazmat.primitives.asymmetric import rsa
2from cryptography.hazmat.primitives import serialization
3
4# Generate key pair
5private_key = rsa.generate_private_key(
6    public_exponent=65537,
7    key_size=2048
8)
9public_key = private_key.public_key()
10
11# Export in PEM format
12private_pem = private_key.private_bytes(
13    encoding=serialization.Encoding.PEM,
14    format=serialization.PrivateFormat.PKCS8,
15    encryption_algorithm=serialization.NoEncryption()
16)
17public_pem = public_key.public_bytes(
18    encoding=serialization.Encoding.PEM,
19    format=serialization.PublicFormat.SubjectPublicKeyInfo
20)
OpenSSL (Grundlagen)
Read Only
1# Generate 2048-bit RSA private key
2openssl genrsa -out private_key.pem 2048
3
4# Extract public key
5openssl rsa -in private_key.pem -pubout -out public_key.pem
OpenSSL & ssh-keygen (SSH, CSR, Prüfung)
Read Only
1# PEM-öffentlicher Schlüssel → OpenSSH Einzeiler (authorized_keys)
2ssh-keygen -f public_key.pem -i -m PKCS8 > openssh_public.pub
3
4# Privaten Schlüssel prüfen
5openssl rsa -in private_key.pem -check -noout
6
7# CSR aus privatem Schlüssel (-subj für nicht interaktiv)
8openssl req -new -key private_key.pem -out csr.pem
PHP (openssl_pkey_new)
Read Only
1$config = [
2    'private_key_bits' => 2048,
3    'private_key_type' => OPENSSL_KEYTYPE_RSA,
4];
5$key = openssl_pkey_new($config);
6openssl_pkey_export($key, $privatePem);
7$details = openssl_pkey_get_details($key);
8$publicPem = $details['key'];
9
10// openssl_pkey_export may emit PKCS#1 (BEGIN RSA PRIVATE KEY)
11// depending on OpenSSL/PHP. This tool exports PKCS#8 (BEGIN PRIVATE KEY).
Laravel (Passport / JWT)
Read Only
1// .env — store file paths, never paste PEM contents
2// JWT_ALGO=RS256
3// JWT_PRIVATE_KEY=file:///var/www/certs/private_key.pem
4// JWT_PUBLIC_KEY=file:///var/www/certs/public_key.pem
5
6// Laravel Passport
7// php artisan passport:keys
8// Or copy this tool's PEM to storage/oauth-private.key
9// and storage/oauth-public.key

How it works

RSA key pair generation prioritizes the Web Crypto API. If Web Crypto API is unavailable or PEM conversion fails, it falls back to the node-forge library. Keys are PEM: private keys in PKCS#8 (-----BEGIN PRIVATE KEY-----), public keys as X.509 SubjectPublicKeyInfo (-----BEGIN PUBLIC KEY-----). Larger key lengths take longer to generate, but a 2048-bit key pair typically completes within 5 seconds. All processing is done in the browser; keys are never sent to any server.

Datenschutz und Daten

All key generation is done in the browser; generated public and private keys are never sent to any server. Keys exist only in browser memory and are not automatically saved. Private keys are sensitive — manage them carefully and clear them from memory (e.g., close the browser) when done. Do not paste private keys into FAQ answers, chat, or source code. For production, prefer generating keys in a secure, isolated environment when possible.

Häufige Fragen

Q: Was ist ein RSA-Schlüsselpaar?
A: Ein RSA-Schlüsselpaar besteht aus einem öffentlichen Schlüssel und einem passenden privaten Schlüssel, die für Verschlüsselung, Signierung, SSH, TLS und JWT verwendet werden. Der öffentliche Schlüssel kann geteilt werden; der private Schlüssel muss geheim bleiben.
Q: Welche Schlüsselgröße sollte ich verwenden?
A: Verwenden Sie 2048 Bit für allgemeine Entwicklung und Tests. Bevorzugen Sie 4096 Bit, wenn Sie mehr Sicherheit benötigen. Vermeiden Sie sehr kleine Größen (z. B. 512) außerhalb von Legacy-Experimenten.
Q: Werden meine Schlüssel auf einen Server hochgeladen?
A: Nein. Die Generierung erfolgt in Ihrem Browser. Die Schlüssel werden nicht an die Server von Handy Dev Tools gesendet.
Q: Welche Formate kann ich exportieren?
A: PEM-Ausgabe, geeignet für OpenSSL-ähnliche Workflows (privater Schlüssel PKCS#8 / öffentlicher Schlüssel X.509). Zum lokalen Gebrauch kopieren oder herunterladen.
Q: Ist das kostenlos?
A: Ja. Keine Registrierung erforderlich.
Q: Wie erzeuge ich dasselbe Schlüsselpaar in PHP?
A: Verwenden Sie openssl_pkey_new() mit OPENSSL_KEYTYPE_RSA und einer Länge wie 2048, dann openssl_pkey_export() für den privaten und openssl_pkey_get_details() für den öffentlichen Schlüssel. Siehe das PHP-Beispiel auf dieser Seite. openssl_pkey_export() kann je nach OpenSSL/PHP PKCS#1 (BEGIN RSA PRIVATE KEY) ausgeben; dieses Tool exportiert PKCS#8 (BEGIN PRIVATE KEY). Beide werden weithin akzeptiert.
Q: Kann ich diese Schlüssel mit Laravel JWT oder Passport verwenden?
A: Ja für die Entwicklung. Dieses Tool exportiert PKCS#8-Privatschlüssel und X.509-(SPKI)-öffentliche Schlüssel, die Laravel Passport und RS256-JWT-Bibliotheken (z. B. tymon/jwt-auth) akzeptieren. Setzen Sie JWT_PRIVATE_KEY / JWT_PUBLIC_KEY auf die PEM-Dateien oder kopieren Sie sie nach storage/oauth-private.key und storage/oauth-public.key für Passport. Committen Sie keine privaten Schlüssel.