MD5 falsch
-
folgender Code
MD5 mD5 = new MD5CryptoServiceProvider(); byte[] Hash; string Result = string.Empty; string Tmp = string.Empty; Stream FN = new FileStream (@FilePath, FileMode.Open, FileAccess.Read, FileShare.Read); mD5.ComputeHash(FN); FN.Close(); Hash = mD5.Hash; for (int i = 0; i < Hash.Length; i++) { Tmp = Hash[i].ToString("x"); if (Tmp.Length == 1) Tmp = "0" + Tmp; Result += Tmp; }
erzeugt anderen MD5 als von anderen Programmen errechnet wird.
SHA1 und RIPEMD erzuegt richtigen, nur md5 nicht.
kennt jmd das problem?
-
Ist der Wert vielleicht nur Byteweise gespiegelt?
Also0011...eeff
stattffee...1100
?
Oder ist er komplett anders?
-
also hab mir mal aus spaß:
http://portableapps.com/apps/music_video/dvdstyler_portable
runtergeladen(unten steht der md5 der von anderen programmen auch so errechnet wird) 86a18e34ef205384381a1aee1525236cdas prog (oben) liefert aber: d41d8cd98f00b204e9800998ecf8427e
-
ah Fehler von mir. Hab mehrere Hashalgos hintereinander und hab vergesser FN.Position = 0; zu setzen
-
Hihi, OK.
Wie eine Suche nach "d41d8cd98f00b204e9800998ecf8427e" schnell verrät, ist das die MD5 von "Nichts" (leerer String).
Die Ausgabe stimmt also