Salzen Sie eine C# - MD5-ComputeHash auf einem stream

Ich sehe keinen Weg, um Salz MD5.ComputeHash(Stream).
Fehlen mir einige Weise des Einspritzens von bytes in der HashAlgorithm?

Ich habe versucht, die Durchführung einer ComputeHash(byte[]) vor der Durchführung der stream berechnen, aber überraschend, es hatte keine Wirkung. Irgendwelche Ideen (abgesehen von der änderung der Datei)?

Vielen Dank für Ihre Zeit.

Nachtrag
Nur um ein wenig konkreter, ich möchte einen stream, verwenden um ein hash auf eine große Datei, ich will nicht in den Speicher geladen.

FileInfo myFI= new FileInfo("bigfile.dat");
FileStream myIFS = piFile.OpenRead();
MD5 md5 = MD5.Create();
byte[] hash = md5.ComputeHash ( myIFS );
myIFS.Close ();
  • Ich weiß nicht, ob es eine spezielle Art Salz des Algorithmus. Aber Sie könnte einfach erstellen Sie Ihre eigenen Stream-Klasse, wickelt der angegebenen Stream-Objekts. Wenn gefragt, für die ersten paar bytes, die wrapper-Objekt geben könnte, die salt-bytes, und starten Sie dann proffering die zugrunde liegende stream-bytes.
  • In diesem Fall, mit der information, ein Salz ist unnötig und wahrscheinlich auch nicht möglich zu implementieren (man erinnere sich, dass Salze gespeichert werden müssen mit der salthashed Daten).
InformationsquelleAutor Keith Marsh | 2009-05-18
Schreibe einen Kommentar