2012-01-18 6 views
0

Я искал немного, но ничего не могу найти. Я не знаю, можно ли добавить путь к файлу файла для вычисления хеш-кода MD5.Добавить путь к файлу MD5 хэш-расчет

Сейчас у меня нормальный расчет, и он возвращает уникальные хэш-коды для всех файлов, которые отличаются. Но если я скопирую вставить файл, он вернет тот же хэш-код.

. Можно ли добавить путь к пути til к вычислению?

BR

ответ

5

MD5 хеш является только алгоритм для принятия некоторых двоичных данных, а также создание 128-битное значение хэш-функции от него.

Как вы определяете бинарные данные для хэша, полностью зависит от вас. Вполне разумно (скажем) включить путь к файлу, а затем содержимое файла (или наоборот), если это полезно для вас. Обычно это не так, как вы обычно хотите проверить, что у вас есть те же данные, что и у вас, и метаданные местоположения файла не являются обычно частью «полезной» информации, подлежащей проверке. Вы бы обычно хотите скопируйте/вставьте, чтобы предоставить вам тот же хеш-код. Но если вы в какой-то другой ситуации, все в порядке.

2

MD5 - это просто хэш, полностью зависит от вас, что вы хэш, поэтому, если вы пройдете полный путь, он добавит его в хэш.

Вот код (он не оптимизирован, но написано, чтобы быть простым для понимания), он возвращает хэш MD5 для любой строки, переданной в

public string MD5_Encrypt(string EncryptString) 
{ 
    string strReturn = string.Empty; 
    ASCIIEncoding ASCIenc = new System.Text.ASCIIEncoding(); 
    byte[] InputString = ASCIenc.GetBytes(EncryptString); 
    System.Security.Cryptography.MD5CryptoServiceProvider MD5Hash = new System.Security.Cryptography.MD5CryptoServiceProvider(); 
    byte[] ByteHash = MD5Hash.ComputeHash(InputString); 
    foreach (byte b in ByteHash) 
    { 
    strReturn += b.ToString("x2"); 
    } 
    return strReturn.ToString(); 
}