1 Востаннє редагувалося Ярослав (30.12.2015 10:14:13)

Тема: SHA-256 хеш сума для декількох файлів

Вітаю Вас, форумчани!

Я намагаюсь виконати наступні завдання:

1. Scan given directories (receive a list of directories as an input
and discover directories in a given partition).
2. Collect all files and perform sha-256 hash function and the files
and save the result. No need to collect the files themselves,
just need to compute hash value.

Я декілька разів намагався розібратись із другим завданням і тепер хочу уточнити. Я знаходив приклади по розрахунку хеш-суми для одного рядка, знаходив приклад для хеш-суми файлу, і, наскільки я зрозумів, хеш сума файлу розраховується як сума хеш-сум для кожного рядка із файлу. Але, мені здається, що я не зовсім правильно розумію завдання. Тому виникає декілька питань:

1. Чи я правильно зрозумів про розрахунок хеш-суми файлу? Що хеш-сума файлу - це сума хеш-сум кожного рядка файла?

2. Чи я правильно розумію завдання автора, що треба розраховувати суму для сукупності файлів, а не для файлів окремо?

Заздалегідь дякую!

2 Востаннє редагувалося 0xDADA11C7 (31.12.2015 14:21:33)

Re: SHA-256 хеш сума для декількох файлів

Геші робляться шматками через довжину тимчасового бухверу (недоцільно увесь великий файл завантажувати в пам'ять), тому використання криптографічного програмного інтерхвейсу відбувається наступним чином:
ВиділенняТимчасовогоБухверу
ІніціалізаціяГешХвункції
ЗчитуванняШматкаФайлаДопокиНемаКінцяХвайлу
    ОновленняГешХвункціїНовимиДаннимиЗБухверу
ЗакінченняРоботиЗГешХвункцією
ОдержанняЗначенняГешХвункції
ЗвільненняТимчасовогоБухверу

Подякували: leofun01, Yola3

3

Re: SHA-256 хеш сума для декількох файлів

Я практикувався із цим шматком коду, схоже на те, що він зроблений саме так, як Ви говорите. Однак, я досі не розумію: треба робити для кожного файлу хеш-суму і зберігати їх в якому-небудь файлі або треба за цим алгоритмом розрахувати хеш-суму для всіх файлів і отримати одну суму?

4

Re: SHA-256 хеш сума для декількох файлів

No need to collect the files themselves, just need to compute hash value.

Прямим тестом вказівка жеж, що окремо зберігати геші файлів.
Ви часом не трояна пишете? А то моє ТЗ майже один в один.

5 Востаннє редагувалося Ярослав (31.12.2015 18:10:06)

Re: SHA-256 хеш сума для декількох файлів

Завдання таке:  у вказаних папках для всіх файлів порахувати хеш суми, зашифрувати з допомогою aes, переслати на сервер, робити це кожну годину. Я просто намагаюсь вирішити завдання на фрілансі, яке мені здалось найпростішим. Дуже класно: вдалось вивести список папок на вказаній директорії, розібрався що таке sha-256, знайшов класний відос, тепер треба розібратись із шифруванням файлу... І далі. Неочікувано для мене дуже легко прошарюватись. Я звик в універі до такого: від А до Я розбираєшся в чомусь і тоді можеш виконати завдання. А тут роблю наосліп.

6

Re: SHA-256 хеш сума для декількох файлів

Дуже схоже, я вам невдовзі підкину завданнячок  *JOKINGLY*

7 Востаннє редагувалося Kane 2.0 (07.04.2018 19:45:02)

Re: SHA-256 хеш сума для декількох файлів

0xDADA11C7 написав:

Геші робляться шматками через довжину тимчасового бухверу

Якими шматками, за розміром, краще різати?

8

Re: SHA-256 хеш сума для декількох файлів

Ну я по 32кб планую різати, бо мої файли невеликі й виконувані. Це щоб троян запам'ятовував "горілки дампів нема"

Подякували: Kane 2.01

9 Востаннє редагувалося Kane 2.0 (07.04.2018 19:44:47)

Re: SHA-256 хеш сума для декількох файлів

А я от щось по типу hashtab робив, встало питання - як бути із великими файлами. crc32, файл 1 гб., з розміром буферу 1 мб. - за 4 сек. рахувало, 1024 кб. - 10 сек.. Файл більше 1-го гб. - однаково, що 1024, що 1024*1024. Хз який тут компроміс виставити.

По швидкості, кажуть, мапінг швидше за все буде, ще правда не перевіряв.. але тут обмеження за розміром файлів виникає..

Подякували: 0xDADA11C71

10

Re: SHA-256 хеш сума для декількох файлів

Який компроміс? Я б зробив динамічний компроміс. Я для свого грабера динамічний таймаут роблю, бо од сталого або потрібні дані погано шукаються або процесор навантажений до 90%, а на старих машинах просто гаплик (До речі, доведеться ще й під Windows NT 3.1 підлаштовувати  %) )

Подякували: leofun011

11 Востаннє редагувалося Kane 2.0 (07.04.2018 19:44:42)

Re: SHA-256 хеш сума для декількох файлів

Динамічно думав, та не придумав, бо вирішив, що у цьому немає сенсу (для файлів великих розмірів суттєвого приросту швидкості роботи не видно). А як динамічно? Ділити на константу в залежності від розміру?

12

Re: SHA-256 хеш сума для декількох файлів

Збільшувати тимчасовий бухвер в залежності від розміру хвайлу.

Подякували: Kane 2.01