Как я делаю Контрольную сумму Файла SHA1 в C#?

Как я использую SHA1CryptoServiceProvider() на файле для создания Контрольной суммы SHA1 файла?

59
задан Firesteel 3 January 2010 в 03:45
поделиться

2 ответа

Методом ComputeHash. Смотрите здесь:

ComputeHash

Пример фрагмента:

using(var cryptoProvider = new SHA1CryptoServiceProvider())
{
    string hash = BitConverter
            .ToString(cryptoProvider.ComputeHash(buffer));

    //do something with hash
}

Где буфер - содержимое вашего файла.

.
61
ответ дан 24 November 2019 в 18:11
поделиться
using (FileStream fs = new FileStream(@"C:\file\location", FileMode.Open))
using (BufferedStream bs = new BufferedStream(fs))
{
    using (SHA1Managed sha1 = new SHA1Managed())
    {
        byte[] hash = sha1.ComputeHash(bs);
        StringBuilder formatted = new StringBuilder(2 * hash.Length);
        foreach (byte b in hash)
        {
            formatted.AppendFormat("{0:X2}", b);
        }
    }
}

отформатировано содержит строковое представление хэша SHA-1. Также, используя FileStream вместо байтового буфера, ComputeHash вычисляет хэш в кусках, так что вам не нужно загружать весь файл за один проход, что удобно для больших файлов.

.
74
ответ дан 24 November 2019 в 18:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: