SHA1 form .exe файл в C # - PullRequest
       23

SHA1 form .exe файл в C #

1 голос
/ 10 июня 2010

Я надеюсь, что кто-нибудь сможет мне помочь с чтением exe-файлов в C # и создать из него хеш SHA1.Я пытался читать из исполняемого файла, используя StreamReader и BinaryReader.Затем, используя встроенный алгоритм SHA1, я попытался создать хеш, но безуспешно.Результаты алгоритма для StreamReader были «AEUj + Ppo5QdHoeboidah3P65N3s =», а для BinaryReader «RWXzn / CoLLPBWqMCE4qcE3XmUKw =».Может кто-нибудь помочь мне получить хэш SHA1 из EXE-файла?Спасибо.

Кстати, простите за мой английский;)

Ответы [ 2 ]

8 голосов
/ 10 июня 2010

Не используйте StreamReader - он попытается преобразовать непрозрачные двоичные данные в текстовые данные ... исполняемый файл - , а не текстовые данные.

Просто используйте FileStream и позвоните ComputeHash:

byte[] hash;
using (Stream stream = File.OpenRead(filename))
{
    hash = SHA1.Create().ComputeHash(stream);
}
string base64Hash = Convert.ToBase64String(hash);
0 голосов
/ 10 июня 2010

StreamReader реализует TextReader, поэтому мы не находимся в двоичном мире: -)

...