SHA-256 Hash Visualisierung als Bit-Square

SHA-256 erzeugt einen 64-stelligen Hexadezimalwert (256 Bit). Diesen kann man als ein 16×16-Bit-Muster visualisieren. Dadurch lassen sich Unterschiede zwischen Hashes „auf einen Blick“ erkennen.

Beispiel

Der SHA-256-Hash von abc lautet:

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

Wenn man diesen Hash in Binär konvertiert (256 Bit) und zeilenweise 16 Bit nebeneinander darstellt, ergibt sich ein Bitquadrat.

Einzeiliger Perl-Befehl

perl -ne 'chomp; $b=unpack("B*",pack("H*",$_)); print map { substr($b,$_*16,16)=~s/(.)/$1 eq "1" ? "██" : "  "/ger . "\n" } 0..15'

Hash visualisieren

echo -n "abc" | sha256sum | cut -d" " -f1 | perl -ne 'chomp; $b=unpack("B*",pack("H*",$_)); print map { substr($b,$_*16,16)=~s/(.)/$1 eq "1" ? "██" : "  "/ger . "\n" } 0..15'

Funktionsweise

  • echo -n "abc" | sha256sum erzeugt den Hash.
  • cut -d" " -f1 entfernt den Dateinamen.
  • unpack("B*", pack("H*", $_)) konvertiert Hex zu Binär.
  • Die map-Schleife splittet in 16 Zeilen à 16 Bit.
  • Jedes Bit wird entweder als schwarzer Block (██) oder als Leerzeichen dargestellt.

Visualisierung

Das Ergebnis ist ein Quadrat aus Zeichen, das wie ein Pixelbild aussieht. Unterschiede im Hash (z. B. durch geänderte Eingabe) sind visuell schnell erkennbar.