-1
我有一個StringBuilder的問題,多次使用時無法正常工作。這裏是我從哈希的字節數組中創建字符串的一個例子。StringBuilder多次使用不起作用
StringBuilder stringBuilder = new StringBuilder();
//MD5
MD5 Md5 = MD5.Create();
foreach (byte b in Md5.ComputeHash(exeStream))
stringBuilder.AppendFormat("{0:X2}", b);
CompareHashValueMd5 = stringBuilder.ToString().ToLower();
stringBuilder.Clear();
// SHA1
SHA1Managed SHhash = new SHA1Managed();
foreach (byte b in SHhash.ComputeHash(exeStream))
stringBuilder.AppendFormat("{0:X2}", b);
CompareHashValueSha = stringBuilder.ToString().ToLower();
stringBuilder.Clear();
// SHA256
SHA256Managed SHhash256 = new SHA256Managed();
foreach (byte b in SHhash256.ComputeHash(exeStream))
stringBuilder.AppendFormat("{0:X2}", b);
CompareHashValueSha256 = stringBuilder.ToString().ToLower();
stringBuilder.Clear();
的結果是:
MD5:正確
SHA1:不正確
SHA256:不正確
當我刪除了MD5和運行程序再次SHA1是罰款但SHA256不是。所以我想這個問題是重用stringBuilder。任何想法如何處理這個?謝謝
哎呀,該解決方案甚至在[MSDN上的示例](https://msdn.microsoft.com/en-us/library/xa627k19(v = vs.110).aspx) –