Passwörter, Hashes und Base64 erfüllen verschiedene Aufgaben
Zufallspasswort, Dateihash und Base64 können wie undurchsichtige Zeichenfolgen aussehen. Sie haben verschiedene Zwecke; ein Austausch kann sensible Informationen offenlegen.
Ein Passwort ist geheim, Codierung schafft keine Vertraulichkeit
Lange, unvorhersehbare Passwörter statt leicht erratbarer Namen oder Daten wählen. Ein vertrauenswürdiger Passwortmanager kann beim Erzeugen und Speichern helfen. Veröffentlichte Beispiele niemals als echtes Passwort verwenden.
Base64 stellt Daten als Text dar, der ohne geheimen Schlüssel decodiert wird. RFC 4648 erklärt, dass dies keine Vertraulichkeit bietet: Wer das codierte Passwort decodiert, kann es lesen.
Quellen: NCSC — Three Random Words · IETF RFC 4648 — Base Encodings and Security Considerations
Was belegt ein Hash?
SHA-256 erzeugt einen Digest fester Länge. Ein Vergleich mit einer vertrauenswürdigen Referenz prüft Inhaltsgleichheit, bestätigt aber weder Dateisicherheit noch einen vertrauenswürdigen Urheber.
Kommen Datei und Hash von derselben kompromittierten Quelle, können beide ersetzt worden sein. Die Referenz ist so wichtig wie korrektes Rechnen.
Quellen: MDN — SubtleCrypto digest()
Ein schneller Hash ist kein Passwortspeichersystem
Allgemeines SHA-256 allein ist keine vollständige Passwortspeicherung. OWASP empfiehlt spezielle Passwort-Hashverfahren mit passenden Schutzmaßnahmen. Das ist die Entwicklung eines Anmeldesystems, nicht bloß Textumwandlung.
Auch JWT-Decodierung prüft weder Signatur noch gültigen Zugang. Echte Zugangsdaten nicht in Supportnachrichten einfügen, nur weil sie codiert aussehen.
Quellen: OWASP — Password Storage Cheat Sheet · IETF RFC 7519 — Validating JWTs
Beispiel ohne Geheimnisse
Test wird in Base64 zu VGVzdA== und zurück zu Test. Beide Richtungen brauchen kein Geheimnis; deshalb verbirgt die Codierung keine vertraulichen Inhalte.
Ein Zeilenumbruch nach Test ändert die gehashten Bytes. Zeichencodierung und Zeilenenden prüfen, bevor unterschiedliche Digests als Rechnerfehler gelten.