Добрый вечер всем,
Я работал над инструментом MD5 в C #, который принимает файл, просматривает мой класс Hasher и выводит результат в базу данных вместе с именем файла и каталогом.
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я запускаю тест, результат MD5 для одного и того же идентичного файла , т.е. без изменений , полностью отличается.
Ниже приведен код, который я использую
HashAlgorithm hmacMd5 = new HMACMD5();
byte[] hash;
try
{
using (Stream fileStream = new FileStream(fileLocation, FileMode.Open))
{
using (Stream bufferedStream = new BufferedStream(fileStream, 5600000))
{
hash = hmacMd5.ComputeHash(bufferedStream);
foreach (byte x in hash)
{
md5Result += x;
}
}
}
}
catch (UnauthorizedAccessException uae) { }
return md5Result;
Вот результаты для 3 отдельных прогонов hello.mp2:
1401401571161052548110297623915056204169177
16724366215610475211823021169211793421
56154777074212779619017828183239971
Довольно загадочно.
Моя единственная разумная мысль относительно того, почему я получаю эти результаты, заключается в объединении байта в строку.
Может кто-нибудь заметить проблему здесь?
С уважением,
Ric