Zum Inhalt springen
BeispielWerk
English

bcrypt 72-Byte-Grenze testen

bcrypt ist ein Verfahren zum Hashen von Passwörtern und verarbeitet nur die ersten 72 Bytes der Eingabe. Die Beispiele liegen genau an dieser Grenze, darunter Werte mit Mehrbyte-Zeichen und ein NUL-Byte. Damit lässt sich prüfen, ob eigene Systeme zu lange Passwörter ablehnen, abschneiden oder vorher mit einem anderen Verfahren behandeln.

6 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf.

  • bcrypt-Grenze: 72 × A (genau 72 Bytes)

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    bcrypt verarbeitet nur die ersten 72 Bytes (OWASP Password Storage Cheat Sheet). Dieser Wert nutzt das Limit voll aus.

  • bcrypt-Grenze: 72 × A plus x (73 Bytes)

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx

    Unterscheidet sich vom Wert „72 × A plus y“ erst nach Byte 72, bcrypt liefert für beide denselben Hash.

  • bcrypt-Grenze: 72 × A plus y (73 Bytes)

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy

    Zweiter Wert zum Vergleich: gleiche ersten 72 Bytes wie „72 × A plus x“.

  • bcrypt-Grenze: 71 × A plus ä (73 Bytes, 72 Zeichen)

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAä

    72 Zeichen, aber 73 Bytes in UTF-8: das ä wird mittendrin abgeschnitten.

  • bcrypt-Grenze: 70 × A plus Emoji (74 Bytes)

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA😀

    71 Zeichen, 74 Bytes: das Emoji liegt über Byte 72.

  • bcrypt-Grenze: NUL-Byte nach 3 Zeichen

    abcdahinter-wird-ignoriert

    Viele bcrypt-Implementierungen enden am ersten NUL-Byte. Testzeichenfolge für eigene Systeme.

Weitere Themen in Passwörter & Tokens