C # хеши - PullRequest
       37

C # хеши

7 голосов
/ 08 марта 2009

Я новичок в C #

  1. Как мне хэшировать файлы с C #
  2. Что доступно? (md5, crc, sha1 и т. д.)
  3. Есть ли интерфейс, который я должен унаследовать?

По сути, я хочу проверить контрольные суммы нескольких файлов и сохранить их в БД вместе с использованием двух моих собственных контрольных сумм / хэшей.

Ответы [ 3 ]

15 голосов
/ 08 марта 2009

1.) Как мне хэшировать файлы с помощью C #?

Вы можете использовать классы .NET в System.Security.Cryptography

2.) Что доступно?

3.) Есть ли интерфейс, который я должен наследовать?

Нет, ты не обязан. Взгляните на HashAlgorithm.Create (...)

5 голосов
/ 08 марта 2009

Отрывок

byte[] result; 
SHA1 sha = new SHA1CryptoServiceProvider(); 
using(FileStream fs = File.OpenRead(@"file.txt"))
{
   result = sha.ComputeHash(fs);
}

См. Также SHA1CryptoServiceProvider или MD5CryptoServiceProvider .

CRC недоступен - более эффективно создавать свои собственные.

1 голос
/ 08 марта 2009

Чего вы пытаетесь достичь с помощью хэшей? Если вы пытаетесь гарантировать, что никто не изменял файлы злонамеренно, , пожалуйста не применяйте свою собственную контрольную сумму или хэш. Вы, вероятно, совершите какую-то ошибку, и кто-то сможет изменить файл и сохранить контрольные суммы. Используйте хорошую хеш-функцию, например SHA-256.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...