J'ai eu quelques problèmes avec computeHash. J'utilise à la fois computeHash (Stream) et computeHash (octet []). Pour une raison quelconque, ils donnent des résultats différents. Je l'ai essayé d'écrire l'octet [] dans un MemStream mais le résultat était le même lors de l'utilisation Byte []computeHash byte [] et différence de flux
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);
J'ai fermé le dossier pour vous assurer que la position à rechercher le point de départ.
zz = new FileStream(t.Filename, FileMode.Open, FileAccess.Read);
zz.Position = 0;
byte[] test1 = md5hash.ComputeHash(zz);
Des suggestions? Ma seule supposition est que c'est un problème d'encodage ou que le Stream a une taille différente.
Toute aide serait vraiment appréciée.
Cordialement,
SunSation
Y a-t-il des caractères non-ASCII dans le fichier? –
Oui, il y a et cela semble être le problème. Pour une raison étrange, j'ai toujours pensé que ASCII signifie 8 bits (ASCII étendu inclus). Merci Dean. Je vais corriger cela en utilisant BinaryReader – SunSatION