создание md5 файлов

Вопросы программирования и использования среды Lazarus.

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

создание md5 файлов

Сообщение smith7 » 08.11.2013 12:53:57

Есть такой код
j := 1;
sd := TSelectDirectoryDialog.Create(Application);
sd.InitialDir := 'd:\base\2013\in\';
if sd.Execute then
path := UTF8ToSys(sd.FileName);
FreeAndNil(sd);

if FindFirst(path + DirectorySeparator + '*.dbf', faAnyFile, searchResult) = 0 then
begin
repeat
Form4.StringGrid1.RowCount := j + 1;
Form4.stringgrid1.Cells[0, j] := IntToStr(j);
Form4.stringgrid1.Cells[1, j] := searchResult.Name;
Form4.StringGrid1.Cells[2, j] :=
MD5Print(MD5File(path + DirectorySeparator + searchResult.Name));

until FindNext(searchResult) <> 0;
FindClose(searchResult);
Form4.ShowModal;
end;


Так вот этот код, может посчитать md5 пустой строки,
что-то вроде d41d8cd98f00b204e9800998ecf8427e
Как убедиться, что MD5File файл был открыт/прочитан и т.п.?
smith7
новенький
 
Сообщения: 11
Зарегистрирован: 17.07.2013 06:05:33

Re: создание md5 файлов

Сообщение smith7 » 10.11.2013 22:24:10

Так и никто не ответил, или md5 никто не использует?
Воспроизвести такой md5 у меня ещё раз не получилось, но по памяти могу сказать у меня это второй случай.
Может есть баг какой?
smith7
новенький
 
Сообщения: 11
Зарегистрирован: 17.07.2013 06:05:33

Re: создание md5 файлов

Сообщение Sergei I. Gorelkin » 11.11.2013 09:01:06

Если md5file не смогла открыть файл, то после ее вызова будет IoResult<>0. Это может происходить, если файл открыт другим процессом.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: создание md5 файлов

Сообщение Mirage » 11.11.2013 17:20:01

MD5 взломан, в целях безопасности использовать не рекомендуется.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: создание md5 файлов

Сообщение zoltanleo » 13.11.2013 20:11:04

Mirage писал(а):MD5 взломан, в целях безопасности использовать не рекомендуется.


Что лучше? crc? Где-то есть мануал по использованию с примерами (интересует получение хэша строки, файла и содержимого буфера)
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: создание md5 файлов

Сообщение Mirage » 13.11.2013 23:17:32

CRC вообще ни о чем.
Лучше SHA256, SHA-3.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: создание md5 файлов

Сообщение zoltanleo » 14.11.2013 09:40:02

Mirage писал(а):Лучше SHA256, SHA-3.

Где их найти: DCP Hashes? Есть конкретный мануал по их использованию или готовые примеры?
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: создание md5 файлов

Сообщение Mirage » 14.11.2013 10:51:23

Есть, например SynCrypto.pas из пакета Synopse.
Вот тут еще можно посмотреть:
https://duckduckgo.com/?q=delphi+sha
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: создание md5 файлов

Сообщение ZeUsM » 14.11.2013 11:02:53

Mirage писал(а):MD5 взломан, в целях безопасности использовать не рекомендуется.

Простите, уважаемый, а что в Вашем понятии - взломан? :roll:
Если брут перебором, то таки любой алгоритм взламывается.
MD5 - не обратимое шифрование, поэтому не стоит подменять понятия.

А примеры работы с MD5 есть в CodeOcean от pilotlogic.com
Аватара пользователя
ZeUsM
новенький
 
Сообщения: 57
Зарегистрирован: 08.11.2010 13:55:35
Откуда: Нерезиновая

Re: создание md5 файлов

Сообщение Лекс Айрин » 14.11.2013 11:11:26

ZeUsM писал(а):Простите, уважаемый, а что в Вашем понятии - взломан? :roll:


http://www.securitylab.ru/news/215101.php

Так что все серьезно. И необратимость шифрования тут весьма относительна. Дело даже не в том, что данные находятся перебором, а то, что для этого требуется не такое уж и большое время.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: создание md5 файлов

Сообщение zoltanleo » 14.11.2013 12:11:14

Mirage писал(а):Есть, например SynCrypto.pas


хм, хотелось бы кроссплатформы, а там dll
Сорьки, есть Линь :)

ps. на дельфях решается все элементарно просто, причем встроенными средствами (IdHashMessageDigest, dGlobal, IdHMACSHA и проч.). Вот бы на Лазарь это портировать :roll:
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: создание md5 файлов

Сообщение ZeUsM » 14.11.2013 12:39:17

zoltanleo писал(а):
Mirage писал(а):Есть, например SynCrypto.pas


хм, хотелось бы кроссплатформы, а там dll
Сорьки, есть Линь :)

ps. на дельфях решается все элементарно просто, причем встроенными средствами (IdHashMessageDigest, dGlobal, IdHMACSHA и проч.). Вот бы на Лазарь это портировать :roll:

Если мне не изменяет склероз - это компоненты indy. Их разве нет в том же CT уже установленных, или они перестали устанавливаться в lazarus?

Добавлено спустя 15 минут 52 секунды:
zoltanleo
http://www.cityinthesky.co.uk/opensource/dcpcrypt/
В архиве дока с примерами, сами компоненты есть в CT 4.5 :idea:
Аватара пользователя
ZeUsM
новенький
 
Сообщения: 57
Зарегистрирован: 08.11.2010 13:55:35
Откуда: Нерезиновая

Re: создание md5 файлов

Сообщение zoltanleo » 14.11.2013 15:12:45

ZeUsM писал(а):Их разве нет в том же CT уже установленных


И правда :shock: - попробую импортировать старые дельфийские проекты. Нюанс: выше упомянутые модули, добавленные вручную, не видит, пока не кинешь какой-нибудь Indy'ский компонент.

Mirage писал(а):Есть, например SynCrypto.pas из пакета Synopse.


не взлетел, есть зависимость от чисто дельфийских пакетов + какие-то траблы с асмом - дальше ковырять не стал
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: создание md5 файлов

Сообщение ZeUsM » 15.11.2013 13:01:37

Лекс Айрин писал(а):
ZeUsM писал(а):Простите, уважаемый, а что в Вашем понятии - взломан? :roll:


http://www.securitylab.ru/news/215101.php

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

Всё зависит от стойкости пароля. Попробуйте подобрать стойкий пароль - не 12345. :lol:
Если на это уйдет менее пары месяцев, тогда стоит задуматься о смене.
P.S. Взлом в данном примере означает взлом с точки зрения математической, никак не прикладной. Да и статья эта аж 2005 года, коллизии на данном этапе развития цифровых технологий находятся за секунды, однако хэши MD5 используют до сих пор (те кто паранойей не страдают).
Аватара пользователя
ZeUsM
новенький
 
Сообщения: 57
Зарегистрирован: 08.11.2010 13:55:35
Откуда: Нерезиновая

Re: создание md5 файлов

Сообщение Лекс Айрин » 15.11.2013 13:20:56

ZeUsM писал(а):P.S. Взлом в данном примере означает взлом с точки зрения математической, никак не прикладной.


Я слышал и о прикладном применении. Собственно, анализ MD5 это стандартная практика взлома уже давно. Конечно, стойкий пароль чуть отстрочит взлом, но не панацея.

ZeUsM писал(а):Попробуйте подобрать стойкий пароль - не 12345. :lol:


таковых не использую.

ZeUsM писал(а):однако хэши MD5 используют до сих пор (те кто паранойей не страдают).


угу... они просто используют километровые пароли... математический взлом это первая ласточка, что использование алгоритма уже нежелательно. Ибо когда неприятность произойдет, то кулаками махать поздно будет.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 234

Рейтинг@Mail.ru