проблемы с md5

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Matich
новенький
Сообщения: 50
Зарегистрирован: 25.07.2007 21:42:57

проблемы с md5

Сообщение Matich »

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

вот код

Код: Выделить всё

program test;

uses
  md5;

begin
  writeln(md5print(md5file('1.dat')));
  writeln(md5print(md5file('2.dat')));
  readln;
end.


компилятор 2.0.4 Win32
компилил так :
fpc -Xs test.pp
Аватара пользователя
STAKANOV
энтузиаст
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV »

По-моему md5file некорректно работает с файлами лежащими в каталогах имена которых то ли очень длинные, то ли содержат пробел, то ли русские буквы. Советую перенести эти файлы в каталог с простым именем (типа C:\blabla\) и повторить.
Matich
новенький
Сообщения: 50
Зарегистрирован: 25.07.2007 21:42:57

Сообщение Matich »

Вот они (файлы)
http://slil.ru/24665739 ~690 кб

Файлы положил в корень "D:\"
Тот же результат.

ЗЫ:
кажись разобрался...
При включенной "ReadOnly" - один хэш, а при выключенной другой хэш.
В чём прикол понять не могу... :shock:
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Ведь пробегал такой баг когда-то довольно давно. Теперь уже подробностей вспомнить не могу. Ощущение такое, что это связано не с самой md5, а с чтением файлов посредством BlockRead. Рекомендую попробовать с более современной версией FPC.
Matich
новенький
Сообщения: 50
Зарегистрирован: 25.07.2007 21:42:57

Сообщение Matich »

>Рекомендую попробовать с более современной версией FPC.

Спасибо, помогло.
Ответить