Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TFileStream +контрольная сумма [D7]


алекс2 ©   (2008-02-13 17:59:00) 

Есть у меня свой файловый формат с данными, но сейчас получается большой файл по объему. Я читал заголовок, в нем в одном из полей хранил md5 дальнейшего буфера с данными. А потом просто проверял сохраненный хэш с текущим.

Но сейчас размер данных возрос, и загружать большой кусок данных в MemoryStream не приемлемо. Что посоветуете?

Примерно так делал:

 FS := TFileStream.Create('c:/file.file', fmOpenRead);
 ...
 MS := TMemoryStream.Create;
 MS.CopyFrom(FS, SizeWithoutHeader);
 ...
 ..Md5(MS)..


Anatoly Podgoretsky   (2008-02-14 13:43:00) [1]

> Anatoly Podgoretsky  (14.02.2008 13:40:05)  [5]

MS.CopyFrom(FS, SizeHeader);


Anatoly Podgoretsky   (2008-02-14 13:40:00) [2]

> алекс2  (13.02.2008 17:59:00)  [0]

MS.CopyFrom(FS, SizeWithHeader);


DiamondShark   (2008-02-13 19:32:00) [3]


> если я буду получать хэш самого файла - то вместе с заголовком.

с чего бы это?
заголовок ты прочтёшь раньше, позиция в стриме будет после заголовка.
процедура Md5() начнёт читать сразу после заголовка, если, конечно, в ней нет вызова Seek(0)


Джо   (2008-02-13 18:11:00) [4]

> [2] алекс2   (13.02.08 18:09)
> Это моя ошибка, на самом деле:
>
> Md5(Ms)
>
> ---
>
> если я буду получать хэш самого файла - то вместе с заголовком.
> тогда где хранить саму контрольную сумму?

А зачем делать контрольную сумму заголовка?


алекс2   (2008-02-13 18:09:00) [5]

Это моя ошибка, на самом деле:

Md5(Ms)

---

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


DiamondShark   (2008-02-13 18:05:00) [6]


> Что посоветуете?


..Md5(FS)..


Наверх

Титульная страница Поиск, карта сайта Написать письмо