Elderan: 128 Bit Schlüssel erzeugen

Beitrag lesen

Hallo,

Bis auf Dokumentationen und Debugging gibt es jedoch keinen Grund zur Ausgabe und damit zur Darstellung.

Bist du dir da sicher?!?

Also mal überlegen, wo man den MD5/SHA1 Hash benötigt, typische Anwendungsbeispiele sind:
-Hash von einer Datei, wurde diese geändert (Hash muss gespeichert&Ausgegeben werden)
Z.B. bei Dateien die zum Download angeboten werden. (Hexadezimal sinnvoll)

  • Hash von einer Nachricht die man signieren möchte (Hash muss übertragen werden) (ink. Zertifikate)
    (Hexadezimal Sinnvoll)

  • Hash als Key-Expansion (hier wäre String sinvoller).

Aber vorallem für PHP-Programmieren:
Passwort als Hash in der DB/Textdatei speichern. (Hexadezimal sinnvoll)

Das sind die primären Anwendungsgebiete eines Hashwertes. Würde man den Hash als String speichern, könnte es Verluste geben (Steuerzeichen).
Und meistens muss er auch ausgegeben werden, und zwar so dass ein Mensch ihn lesen kann, also ohne Steuerzeichen.
Also muss man ihn kodieren, da müsste man sich aber auf einen Kodierungstandard einigen.

Desweiteren hat die Berechnung eines MD5/SHA1 Hashes genau 4x32-Bit bzw. 5x32-Bit Integer Ausgaben, ist es sehr leicht, diese Zahlen als Hexadezimal darzustellen.
Diese 4/5 Ausgaben werden dann einfach aneinandergehängt, fertig ist der Hashwert..

Und hast du schon mal an die xxxxxxxxxxxxx Personen gedacht, die kein ASCII als Standard-Zeichensatz benutzen?
Auf japanisch ist das Byte 0x64 (100) bestimmt nicht wie beim ASCII ein: d.
Was ist wenn die erste 32 Bit Variable folgendes Wert enthält:
0x61626364

ASCII: abcd
Aber bei einem japanischem Zeichensatz??

Und da Hexadezimal Weltweit eindeutig ist, gibt es dort keine Verwechslungen.
So können Deutsche und Japaner ohne Probleme Hashwerte austauschen, ohne sich auf eine gemeinsame Kodierung einigen zu müssen.

Zusammengefasst: Nur zum Key-Crunching wäre es Sinvoller, würde die Funktion den Hash als String zurückgeben. Sonst ist der Hexadezimalwert sinnvoller.

Grüße
Elderan

0 47

128 Bit Schlüssel erzeugen

sp7
  • programmiertechnik
  1. 0
    Elderan
    1. 0
      Sven Rautenberg
      1. 0
        Alexander Brock
        1. 0
          Elderan
          1. 0
            Christoph Zurnieden
            1. 0
              Alexander Brock
            2. 0
              Elderan
              1. 0
                Christoph Zurnieden
                1. 0
                  Elderan
                  1. 0
                    Christoph Zurnieden
                    1. 0
                      Elderan
                      1. 0
                        Christoph Zurnieden
                        1. 0
                          Christian Kruse
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Christian Kruse
                        2. 0
                          Elderan
                          1. 0
                            Christoph Zurnieden
                            1. 0
                              Alexander Brock
                              1. 0
                                Christoph Zurnieden
                                1. 0
                                  Christian Kruse
                                  1. 0
                                    Elderan
                                    1. 0
                                      Christian Kruse
                                      1. 0
                                        Elderan
                                        1. 0
                                          Christian Kruse
                                          1. 0
                                            Elderan
                                            1. 0
                                              Christian Kruse
                                              1. 0
                                                Alexander Brock
                                                1. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                  2. 0
                                                    Henryk Plötz
                                                    1. 0
                                                      Christoph Zurnieden
                                                2. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Alexander Brock
                                                    1. 0
                                                      Christoph Zurnieden
                                                      1. 0
                                                        Alexander Brock
                                                        1. 0
                                                          Christoph Zurnieden
                                        2. 0
                                          Christoph Zurnieden
                                      2. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                                    2. 0
                                      Christoph Zurnieden
                                      1. 0
                                        Henryk Plötz
                                        1. 0
                                          Christoph Zurnieden
                            2. 0
                              Elderan
                              1. 0
                                Christoph Zurnieden
              2. 0
                Christian Kruse
    2. 0
      Henryk Plötz