Gli oggetti che derivano da HashAlgorithm come MD5CryptoServiceProvider hanno un metodo Dispose(), ma è privato. Invece ha un metodo Clear() che "Libera tutte le risorse" usato da esso..NET: eliminazione di un oggetto HashAlgorithm
WTF?
È questo come disporre correttamente di un HashAlgorithm, quindi?
var hasher = new MD5CryptoServiceProvider();
byte[] hashCode = hasher.ComputeHash(data);
hasher.Clear();
Qualcuno vuole spiegarmelo? :)
vi consiglio di utilizzare un altro algoritmo di hash anche se si può ben ritenere il Hash MD5 non sicuro in alcune applicazioni. Una buona alternativa sarebbe la famiglia SHA, come SHA 256. Sono disponibili anche per l'uso in .NET. – Skurmedel
Buona chiamata. Ricordo che leggere MD5 si era rivelato vulnerabile qualche anno fa. Geeze, questo da Wikipedia: "Il 18 marzo 2006, Klima ha pubblicato un algoritmo [10] che può trovare una collisione in un minuto su un singolo computer portatile, usando un metodo che chiama tunneling." – core