Ich hab auch sowas, allerdings sind dort 2 Dateien mit den Hash's auf'm Server
eine mit den Hash's der einzelnen Dateien und eine mit den ein paar anderen Versionsinfos und dem Hash der 1. Datei - ich hatte die 2. Datei aber anfangs nur zur Kontolle der Ersten. Damit ich auch 'ne Kontrolle hatte, ob die Erste auch in Ordnung ist.
Den vergleich hatte aber nicht der Server, sondern das Programm selber gemacht.
Also ich hab einfach die Hashdatei nochmal gehasht, aber es ist doch auch möglich die Hash's als Strings der Reihe nach zu hashen?
meistens gibt es doch Funktionen MD5Init, MD5Update und MD5Final...
Delphi-Quellcode:
Var MD5Hashs: Array of String;
Type MD5Digest = Array[0..15] of Byte;
...
Var Context: MD5Context;
Digest: MD5Digest;
Begin
MD5Init(Context);
For i := 0 to Length(MD5Hashs) - 1 do
MD5Update(Context, PChar(MD5Hashs[i]), Length(MD5Hashs[i]));
MD5Final(Context, Digest);
...
End;
die 16 Bytes in Digest müssen dann nurnoch der Reihe nach in Hexadezimalverte umgewandelt werden, oder so ähnlich
[add]
wobei zu bedenke ist, wenn man die Rohdaten zusammenhasht, dann kommt mit Sicherheit eine anderer Masterhash raus, als wenn man die Stringwerte verwendet.