hotti: MD5 Checksumme eines Hash Berechnen

Moin,

brauch mach ein bischen Input. Der Hash hat 2 Keys, es geht mir darum, einen Vergleich zu bekommen, wenn der Hash in eine Datei geschrieben wird bzw. die Datei gelesen wird (Serialize/Unserialize sicherer machen). Das Problem bei diesem Vorhaben sehe ich darin, dass ein Hash ungeordnet ist (im Gegensatz zu einem Array), bei einer zufällig anderen Ordnung würde sich da eine andere Checksumme ergeben.

Vielen Dank,
Hotti

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  1. brauch mach ein bischen Input. Der Hash hat 2 Keys, es geht mir darum, einen Vergleich zu bekommen, wenn der Hash in eine Datei geschrieben wird bzw. die Datei gelesen wird (Serialize/Unserialize sicherer machen). Das Problem bei diesem Vorhaben sehe ich darin, dass ein Hash ungeordnet ist (im Gegensatz zu einem Array), bei einer zufällig anderen Ordnung würde sich da eine andere Checksumme ergeben.

    WTF? Warum willst du von einem Hash eine Prüfsumme berechnen? Ein Streuwert _ist_ eine Art Prüfsumme, nur wesentlich besser - weil, wie du sagst das verändern der reihenfolge der Stellen ein anderes Ergebnis liefert. Das ist auch gut so.

    Darum ist für Checksummen eine Einfache Quersumme auch nicht ausreichend, hier werden entweder komplexere Verfahren verwandt (z.B. eben Hashes) oder bei kürzeren Ziffernketten zumindest eine alternierende Quersumme.

    1. hi,

      WTF? Warum willst du von einem Hash eine Prüfsumme berechnen?

      Der Hash (Sammlung von Objekten) wird serialisiert in eine Datei geschrieben und dort auch wieder ausgelesen. Diese Vorgänge möchte ich über eine Prüfsumme absichern, obwohl: Das Verfahren ist bisher noch nicht einmal schiefgegangen, siehe meine Site, die wird komplett aus einer Datei gelesen bzw. nach dem Editieren in die Datei geschrieben.

      Evntl. gibt es ja auch prinzipiell andere Möglichkeiten einer Gegenprüfung für Serialize/Unserialize (Lesen und Schreiben einer Datenstruktur aus/in Datei)?

      Hotti

  2. brauch mach ein bischen Input. Der Hash hat 2 Keys, es geht mir darum, einen Vergleich zu bekommen, wenn der Hash in eine Datei geschrieben wird bzw. die Datei gelesen wird (Serialize/Unserialize sicherer machen). Das Problem bei diesem Vorhaben sehe ich darin, dass ein Hash ungeordnet ist (im Gegensatz zu einem Array), bei einer zufällig anderen Ordnung würde sich da eine andere Checksumme ergeben.

    *Kopfkratz*

    Hashkeys in Perl sind unique. so what.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  3. Oh Mann, die anderen Antworten sind mal wieder "typisch Selfforum". Wenn ich's nicht besser wüsste, müsste man annehmen, hier werden Fragende absichtlich sabotiert.

    Zum Thema: du wirst glücklich, wenn du eine definierte Serialisierung des Hashs vergleichst. YAML::XS und JSON::XS bieten sich an, denn Schlüssel werden dort standardmäßig sortiert.

      
        > re.pl  
        $ use YAML::XS  
        $ use Digest::SHA qw(sha512)  
        $ sha512(Dump {foo=>1,bar=>2}) eq sha512(Dump {bar=>2,foo=>1})  
        1  
    
    
    1. Oh Mann, die anderen Antworten sind mal wieder "typisch Selfforum". Wenn ich's nicht besser wüsste, müsste man annehmen, hier werden Fragende absichtlich sabotiert.

      Danke!

      Zum Thema: du wirst glücklich, wenn du eine definierte Serialisierung des Hashs vergleichst. YAML::XS und JSON::XS bieten sich an, denn Schlüssel werden dort standardmäßig sortiert.

      Das schau ich mir heute abend mal ausführlicher an,

      viele Grüße,
      Horst v. Oppenheim