Как правильно составить хеш

  • Автор темы Автор темы Axel
  • Дата начала Дата начала

Axel

Client
Регистрация
20.03.2017
Сообщения
167
Реакции
9
Баллы
18
Добрый день,

требуется сделать хеш файла (для занесения в базу). Использую
Код:
Развернуть Свернуть Копировать
//Получаем значение строки из переменной
string input = project.Variables["var_1"].Value;

// Создаем объект этого класса.
System.Security.Cryptography.MD5 md5Hasher = System.Security.Cryptography.MD5.Create();
// Преобразуем входную строку в массив байт и вычисляем хэш
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Создаем новый Stringbuilder (Изменяемую строку) для набора байт
StringBuilder md5hash = new StringBuilder();
// Преобразуем каждый байт хэша в шестнадцатеричную строку
for (int i = 0; i < data.Length; i++)
{
    //преобразуем элемент в шестнадцатиричную строку длиной в два символа
    md5hash.Append(data[i].ToString("x2"));
}
//Возвращаем MD5 хеш для строки
return md5hash.ToString();

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

Сначала было неясно, почему для одинаковых файлов с разным именем разный хеш. Проверил в total commander варианты хеша md5 и SHA1 - тот все точно посчитал и сделал отчет - одинаковые файлы с разными именами получают один хеш (т.к. по содержанию).
Вернулся в зеннопостер - опять разные.

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

Так что пользы от него 0, жаль что потратил столько времени.

Собственно ищется правильный код C# как считать хеш :-) Любой из вариантов - md5 и SHA1
 
Специалисты! Дайте код который считает хеш файла!
 
Код не работает, лог:
Компиляция кода Ошибка в действии "CS1010" "Символ новой строки в константе". [Строка: 0; Cтолбец: 34]
 
в первой строке не хватает кавычки закрывающейся
 
Спасибо, теперь все работает! Ох как долго искал :(

В гугле в поиске по сайту запросы как составить хеш -выдается все что угодно но не этот код.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)