Entwickler-Tools
Eine Reihe alltäglicher Entwickler-Werkzeuge — Farben umwandeln, kryptografische Hashes erstellen, mit Unix-Zeitstempeln arbeiten und JWTs dekodieren.
Direkt zur Aufgabe
Ein Klick öffnet das Tool, bereits passend eingestellt.
Entwicklerwerkzeuge - Farben, Hashes, Zeitstempel und JWTs
Dies ist die Kategorie für die kleinen Umrechnungen, die echte Arbeit unterbrechen. Ein Design liefert eine HEX-Farbe, CSS will HSL. Eine Logzeile enthält einen Unix-Zeitstempel, und Sie müssen wissen, welche Uhrzeit das in Ihrer Zeitzone war. Eine API gibt ein Token zurück, und Sie wollen sehen, was darin steht. Eine Download-Seite nennt einen SHA-256, und Sie sollen die Datei prüfen. Nichts davon ist schwer, alles davon ist lästig von Hand - und alle vier laufen hier ohne Konto.
Was in dieser Kategorie steckt
| Werkzeug | Was es tut | Wann Sie es brauchen |
|---|---|---|
| Farbkonverter | Rechnet zwischen HEX, RGB und HSL um | Eine Palette liegt in einer Notation vor, Ihr Stylesheet will eine andere |
| Hash-Generator | Berechnet MD5, SHA-1, SHA-256 und SHA-512 für Text oder Datei | Einen Download prüfen, zwei Dateien vergleichen oder einen Cache-Schlüssel erzeugen |
| Zeitstempel-Konverter | Wandelt Unix-Zeitstempel in lesbare Daten und zurück, über Zeitzonen hinweg | In einem Log, einer Datenbankspalte oder einer API-Antwort steht eine Zahl, wo ein Datum stehen sollte |
| JWT-Decoder | Zerlegt ein JSON Web Token und zeigt Header, Payload und Ablaufzeit | Sie debuggen Authentifizierung und müssen die Claims sehen |
| Unbenutztes CSS entfernen | Behält nur das CSS, das eine Seite nutzt – aus einem Chrome-Coverage-Export oder aus dem HTML | Ein Theme oder Page Builder lädt weit mehr CSS, als die Seite braucht |
| Code Formatter | Verschönert oder minifiziert HTML, CSS, JavaScript und SQL, mit SQL-Dialekten und automatischer Spracherkennung | Ein Bundle, eine Vorlage oder eine Abfrage kam als eine unlesbare Zeile an, oder ein Schnipsel muss so klein wie möglich sein |
| Cron-Ausdruck-Erklärer | Liest einen Cron-Zeitplan in Klartext, Feld für Feld, mit den nächsten Ausführungszeiten in Ortszeit oder UTC | Ein Job läuft zur falschen Stunde, oder Sie wollen vor dem Deployment sicher wissen, was eine Crontab-Zeile tut |
| Subnetzrechner | Netz, Broadcast, Hostbereich, Masken und Adresstyp für IPv4 und IPv6; teilt ein Netz außerdem in Subnetze auf | Sie schreiben eine Firewall-Regel, einen VPC-Plan oder eine Router-Konfiguration, und der Bereich muss exakt stimmen |
| User-Agent-Parser | Liest Browser, Engine, Betriebssystem und Gerät aus jedem User-Agent-String und benennt Suchmaschinen- und KI-Crawler | Eine Log-Zeile, ein Analytics-Bericht oder ein Fehlerbericht zeigt einen User-Agent, den Sie verstehen müssen |
| JSON zu Typen | Macht aus einem JSON-Beispiel Typen für TypeScript, Go, Python, C# oder Rust oder ein JSON Schema | Eine API liefert JSON, und Ihr Code braucht typisierte Modelle dafür |
Farbnotationen und warum HSL sich lohnt
HEX und RGB beschreiben exakt dasselbe in unterschiedlicher Handschrift: #4F46E5 ist rgb(79, 70, 229), drei Kanäle von 0-255, hexadezimal statt dezimal geschrieben. Die Umrechnung ist mechanisch.
HSL ist ein wirklich anderes Modell, und darum verdient es seinen Platz. Es beschreibt eine Farbe über Farbton (Position auf dem Farbkreis, 0-360), Sättigung (wie kräftig, 0-100%) und Helligkeit (0-100%). Der praktische Gewinn: eine Farbe für einen Hover-Zustand 10% dunkler zu machen ist eine einzige Änderung an einer Zahl, und eine Palette verwandter Töne zu bauen heißt, Farbton und Sättigung festzuhalten und die Helligkeit zu variieren. Dasselbe in HEX bedeutet, drei Kanäle neu zu berechnen und zu raten.
Kontrast ist der zweite Grund. Text braucht ein Kontrastverhältnis von mindestens 4,5:1 zum Hintergrund, um WCAG AA bei normaler Größe zu erfüllen. Helligkeit in HSL sagt viel besser voraus, wo Sie stehen, als das Starren auf einen Hex-Code.
Hashes: wofür sie da sind und wofür nicht
Eine Hashfunktion verwandelt beliebige Eingabe in einen Fingerabdruck fester Länge. Dieselbe Eingabe ergibt immer dieselbe Ausgabe; eine Änderung um ein Zeichen ergibt eine völlig andere; und man kann nicht vom Hash zur Eingabe zurückrechnen. Das macht Hashes zum richtigen Werkzeug für Integritätsprüfung und zum falschen für die Speicherung von Passwörtern.
| Algorithmus | Ausgabe | Status |
|---|---|---|
| MD5 | 128 Bit | Sicherheitstechnisch gebrochen. Kollisionen lassen sich gezielt erzeugen. Als Nicht-Sicherheits-Prüfsumme oder Cache-Schlüssel in Ordnung |
| SHA-1 | 160 Bit | Seit 2017 gebrochen. Noch in älteren Systemen und in Git-Objekt-IDs zu sehen; für Neues nicht wählen |
| SHA-256 | 256 Bit | Der heutige Standard für Dateiprüfung, Signaturen und Zertifikate |
| SHA-512 | 512 Bit | Dieselbe Familie, größerer Digest, auf 64-Bit-Hardware oft schneller |
Der Alltagsfall ist die Prüfung eines Downloads: die Seite veröffentlicht einen SHA-256, Sie hashen die empfangene Datei mit dem Hash-Generator, und die beiden Zeichenketten stimmen Zeichen für Zeichen überein - oder eben nicht. Das fängt einen abgebrochenen Download ebenso wie einen manipulierten Spiegelserver.
Wofür Hashes nicht da sind, sind Passwörter. Ein einfacher SHA-256 eines Passworts lässt sich auf gewöhnlicher Hardware mit Milliarden Versuchen pro Sekunde angreifen. Passwortspeicherung braucht eine langsame, gesalzene, eigens dafür gebaute Funktion - bcrypt, scrypt oder Argon2 -, die absichtlich teuer ist. Wer ein Passwort mit etwas aus der Tabelle oben hasht, hat einen Fehler im Code. Genau dafür hat der Hash-Generator einen bcrypt-Reiter: Er erzeugt einen bcrypt-Hash mit dem gewählten Kostenfaktor und prüft ein Passwort gegen einen gespeicherten Hash, und die bcrypt-Seite öffnet ihn direkt.
Unix-Zeitstempel und die Zeitzonenverwirrung
Ein Unix-Zeitstempel zählt Sekunden seit Mitternacht UTC am 1. Januar 1970. Er hat keine Zeitzone, und genau deshalb nutzen Systeme ihn: er ist ein eindeutiger Zeitpunkt, und jede Sprache kann ihn für die Anzeige in Ortszeit umwandeln. Eine zehnstellige Zahl sind Sekunden; eine dreizehnstellige sind Millisekunden - das liefert JavaScripts Date.now(), und es ist eine sehr häufige Ursache dafür, dass Daten in 1970 oder im Jahr 55000 landen.
Der Zeitstempel-Konverter geht in beide Richtungen und zeigt das Ergebnis in UTC neben Ihrer Ortszeit - meist genau der Vergleich, den man beim Lesen eines Logs von einem Server in einer anderen Region braucht. Zwei Daten sollte man kennen: 2147483647 ist die letzte Sekunde, die ein vorzeichenbehafteter 32-Bit-Zeitstempel fassen kann, im Januar 2038, und 0 ist die Epoche selbst - ein Zeitstempel von 0 oder ein Datum vom 1. Januar 1970 bedeutet fast immer, dass ein Wert nie gesetzt wurde.
Ein JWT lesen
Ein JSON Web Token besteht aus drei URL-sicheren Base64-Segmenten, durch Punkte getrennt: ein Header mit dem signierenden Algorithmus, eine Payload aus Claims und eine Signatur. Der JWT-Decoder zerlegt es und zeigt die ersten beiden als lesbares JSON, mit exp und iat als Datum - normalerweise die ganze Frage, wenn eine Anfrage abgelehnt wird.
Zwei Dinge gehören klargestellt. Erstens: die Payload ist nicht verschlüsselt. Wer das Token hat, kann jeden Claim darin lesen; ein JWT ist also kein Ort für Vertrauliches. Zweitens: Dekodieren ist kein Verifizieren. Die Claims zu lesen sagt Ihnen, was das Token behauptet, nicht ob die Signatur gültig ist. Das kann nur der Server mit dem Schlüssel beantworten, und kein Browser-Werkzeug sollte Sie bitten, Ihr Signaturgeheimnis einzufügen, um es herauszufinden.
Weil ein Token eine gültige Zugangsberechtigung ist, solange es nicht abgelaufen ist, zählt es, wo Sie es einfügen. Dieser Decoder läuft vollständig in Ihrem Browser - JavaScript parst das Token auf Ihrem Rechner, es geht nirgendwohin, und Sie können das im Netzwerk-Panel nachprüfen.
Verwandte Kategorien
- Kodierungswerkzeuge - unter einem JWT liegt URL-sicheres Base64, und das zu wissen erklärt die meisten Dekodierfehler.
- Generatoren - die Bezeichner und Secrets erzeugen, die diese Werkzeuge später untersuchen.
- Textwerkzeuge - das JSON formatieren, das aus einer dekodierten Payload kommt.
- Bildwerkzeuge - Assets konvertieren, während Sie an derselben Gestaltungsaufgabe sitzen.