![]() |
|
![]() ![]() ![]() |
|
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 1 Всего: 33 |
Здравствуйте.
Нужно узнать sha1 хэш значение контента, который скачивается torrent-файлом. Т.е. В торрент файле есть хэш суммы каждого блока. Как их суммировать, чтоб узнать хэш всего контента? Торрент клиенты это умеют. Пересмотрел коды rTorrent, libtorrent, libtorrent-rasterbar. Но так ничего не понял. Может кто знает? Спасибо! -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
||||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 1 Всего: 33 |
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
||||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 1 Всего: 33 |
К примеру, uTorrent. Если, с отключенным интернетом, добавить торрент-файл, то он покажет хэш контента. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
а в торрент-файле, значит, хеш всего контента не хранится?
|
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 1 Всего: 33 |
Нет. Только хэши кусков. В том то и вопрос, как их суммировать? -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
Это невозможно алгоритмически. Есть уверенность что они показывают именно значение sha1 функции всего контента? Может хэш функция с торрент файла, или еще какая-либо функция со значения sha-1 значений для всех кусков? |
|||
|
||||
andrew_121 |
|
||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 1 Всего: 33 |
Да, конечно. Скачиваете контент, хэшируете его любой тулзой, и сравниваете. Совпадают.
Не понял. -------------------- Удалил аккаунт. Прощайте! |
||||
|
|||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: 1 Всего: 11 |
По логике действительно, это должно быть невозможно. Ведь хэш функция как правило даёт необратимый код, иначе его было бы легко подделать.
Поэтому я согласен с предыдущими ораторами: либо (1) в торрент файле хранятся не только коды кусков, но и код всего контента, (2) либо общий хеш код -- это не код всего контента, а, например, хэш-код всех кодов кусков. Добавлено через 7 минут и 38 секунд А вообще-то... Я нашёл картинку в Википедии. Из неё мне понятно, как алгоритм преобразует 5 32-битных слов. Но что он делает, когда ему даётся больше, например, 10? Может быть, он разбивает их на пятёрки, преобразует, а потом просто суммирует результаты? Тогда из хэш-кодов кусков можно получить общий хэш код простым суммированием. |
|||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: 1 Всего: 11 |
А каковы блоки в торренте? В sha1 тоже есть блоки по 512. Может быть это те самые блоки?
http://www.itl.nist.gov/fipspubs/fip180-1.htm |
|||
|
||||
andrew_121 |
|
||||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 1 Всего: 33 |
Нет. В торрент-файле хранятся только хэш коды кусков.
Возможно. Сейчас проверю.
Да, так и есть. Именно эти значения записываются в торрент файл, в виде raw. При создании торрент-файла, нужно указать размер блока. И для каждого такого блока формируется хэш. Кол-во записанных хэш значений равняется кол-ву блоков. -------------------- Удалил аккаунт. Прощайте! |
||||||
|
|||||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: 1 Всего: 11 |
Так что алгоритм делает, когда ему надо захешить файл длиннее 5 слов?
|
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 1 Всего: 33 |
Не понял вопроса... -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: 1 Всего: 11 |
На картинке, как я понял, показано, как преобразовать пять 32-битных слов, что составляет 160 бит. А как преобразовать 10 слов? Ведь надо как-то агрегировать?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |