Objekte, die von HashAlgorithm wie MD5CryptoServiceProvider abgeleitet sind, verfügen über eine Dispose() - Methode, die jedoch privat ist. Stattdessen verfügt es über eine Clear() - Methode, die "Alle Ressourcen freigibt", die von ihr verwendet wird..NET: Disposition eines HashAlgorithm-Objekts
WTF?
Wie kann man dann einen HashAlgorithm korrekt entsorgen?
var hasher = new MD5CryptoServiceProvider();
byte[] hashCode = hasher.ComputeHash(data);
hasher.Clear();
Will mir jemand diesen erklären? :)
Ich empfehle Ihnen auch einen anderen Hash-Algorithmus zu verwenden, wenn Sie so viele der erachten kann MD5 Hash ist in bestimmten Anwendungen nicht sicher. Eine gute Alternative wäre die SHA-Familie, wie SHA 256. Sie sind auch für .NET verfügbar. – Skurmedel
Guter Anruf. Ich erinnere mich, dass das Lesen von MD5 vor ein paar Jahren als verwundbar galt. Geeze, das aus Wikipedia: "Am 18. März 2006 veröffentlichte Klima einen Algorithmus [10], der innerhalb einer Minute auf einem einzelnen Notebook eine Kollision mit einer Methode, die er Tunneling nennt, findet." – core