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

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
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();
но он учитывает имя файла. А нужно чтобы файл с другим именем но тем же содержанием считался одинаковым.
 

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
18
Мда. Ну что сказать - этот код выше, что взят с этого форума - делает что угодно но не хеш файла абсолютно.

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

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

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

Собственно ищется правильный код C# как считать хеш :-) Любой из вариантов - md5 и SHA1
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
этот код работает правильно. Добывает хэш строки. В нём нет работы с файлами
 
  • Спасибо
Реакции: Axel

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
18
Специалисты! Дайте код который считает хеш файла!
 

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
18
Код не работает, лог:
Компиляция кода Ошибка в действии "CS1010" "Символ новой строки в константе". [Строка: 0; Cтолбец: 34]
 

Evgeny76

Client
Регистрация
11.09.2015
Сообщения
192
Благодарностей
85
Баллы
28
в первой строке не хватает кавычки закрывающейся
 

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
18
Спасибо, теперь все работает! Ох как долго искал :(

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

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