Ich hatte einige Probleme mit computeHash. Ich verwende sowohl computeHash (Stream) als auch computeHash (byte []). Aus irgendeinem Grund geben sie ein anderes Ergebnis zurück. Ich habe versucht, die byte [] in eine MemStream schreiben, aber Ergebnis war das gleiche bei der Verwendung von Byte []computeHash Byte [] und Stream-Differenz
FileStream zz = new FileStream(t.Filename, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(zz, Encoding.ASCII);
byte[] data = Encoding.ASCII.GetBytes(sr.ReadToEnd());
MemoryStream memStream = new MemoryStream(data);
byte[] test = md5hash.ComputeHash(memStream);
mir die Datei, um sicherzustellen, geschlossen habe, dass die Suchposition am Startpunkt ist.
zz = new FileStream(t.Filename, FileMode.Open, FileAccess.Read);
zz.Position = 0;
byte[] test1 = md5hash.ComputeHash(zz);
Irgendwelche Vorschläge? Meine einzige Vermutung ist, dass es entweder ein Encoding-Problem ist oder der Stream eine andere Größe hat.
Jede Hilfe würde wirklich geschätzt werden.
Mit besten Grüßen,
sunsation
Gibt es Nicht-ASCII-Zeichen in der Datei? –
Ja gibt es und das scheint das Problem zu sein. Aus irgendeinem seltsamen Grund dachte ich immer, dass ASCII 8 Bit bedeutet (erweitertes ASCII enthalten). Dank Dean. Ich werde das mit BinaryReader beheben – SunSatION