Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Суммирование sha1 значений. Как? 
V
    Опции темы
andrew_121
Дата 9.8.2009, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 1
Всего: 33



Здравствуйте.

Нужно узнать sha1 хэш значение контента, который скачивается torrent-файлом.
Т.е. В торрент файле есть хэш суммы каждого блока. Как их суммировать, чтоб узнать хэш всего контента? Торрент клиенты это умеют. Пересмотрел коды rTorrent, libtorrent, libtorrent-rasterbar. Но так ничего не понял.
Может кто знает?

Спасибо!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Alexandr87
Дата 9.8.2009, 09:02 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



Цитата(andrew_121 @  9.8.2009,  04:05 Найти цитируемый пост)
В торрент файле есть хэш суммы каждого блока. Как их суммировать, чтоб узнать хэш всего контента?

никак.

PM Jabber   Вверх
andrew_121
Дата 9.8.2009, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 1
Всего: 33



Alexandr87
Цитата(andrew_121 @  9.8.2009,  01:05 Найти цитируемый пост)
Торрент клиенты это умеют.




--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
skyboy
Дата 9.8.2009, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(andrew_121 @  9.8.2009,  00:05 Найти цитируемый пост)
Торрент клиенты это умеют.

откуда информация?
PM MAIL   Вверх
andrew_121
Дата 9.8.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 1
Всего: 33



Цитата(skyboy @  9.8.2009,  14:39 Найти цитируемый пост)
откуда информация? 

К примеру, uTorrent. Если, с отключенным интернетом, добавить торрент-файл, то он покажет хэш контента.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
skyboy
Дата 9.8.2009, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



а в торрент-файле, значит, хеш всего контента не хранится?
PM MAIL   Вверх
andrew_121
Дата 10.8.2009, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 1
Всего: 33



Цитата(skyboy @  9.8.2009,  23:44 Найти цитируемый пост)
а в торрент-файле, значит, хеш всего контента не хранится? 

Нет. Только хэши кусков. В том то и вопрос, как их суммировать?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Alexandr87
Дата 10.8.2009, 05:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



Цитата(andrew_121 @ 9.8.2009,  16:36)
Alexandr87
Цитата(andrew_121 @  9.8.2009,  01:05 Найти цитируемый пост)
Торрент клиенты это умеют.

Это невозможно алгоритмически.

Есть уверенность что они показывают именно значение sha1 функции всего контента?
Может хэш функция с торрент файла, или еще какая-либо функция со  значения sha-1 значений для всех кусков?
PM Jabber   Вверх
andrew_121
Дата 10.8.2009, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 1
Всего: 33



Цитата(Alexandr87 @  10.8.2009,  05:03 Найти цитируемый пост)
Есть уверенность что они показывают именно значение sha1 функции всего контента?

Да, конечно. Скачиваете контент, хэшируете его любой тулзой, и сравниваете. Совпадают.

Цитата(Alexandr87 @  10.8.2009,  05:03 Найти цитируемый пост)
Может хэш функция с торрент файла, или еще какая-либо функция со  значения sha-1 значений для всех кусков? 

Не понял.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Dims
Дата 10.8.2009, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 1
Всего: 11



По логике действительно, это должно быть невозможно. Ведь хэш функция как правило даёт необратимый код, иначе его было бы легко подделать.

Поэтому я согласен с предыдущими ораторами: либо (1) в торрент файле хранятся не только коды кусков, но и код всего контента, (2) либо общий хеш код -- это не код всего контента, а, например, хэш-код всех кодов кусков.

Добавлено через 7 минут и 38 секунд
А вообще-то...

Я нашёл картинку в Википедии. Из неё мне понятно, как алгоритм преобразует 5 32-битных слов. Но что он делает, когда ему даётся больше, например, 10? Может быть, он разбивает их на пятёрки, преобразует, а потом просто суммирует результаты? Тогда из хэш-кодов кусков можно получить общий хэш код простым суммированием.


PM MAIL   Вверх
Dims
Дата 10.8.2009, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 1
Всего: 11



А каковы блоки в торренте? В sha1 тоже есть блоки по 512. Может быть это те самые блоки?

http://www.itl.nist.gov/fipspubs/fip180-1.htm

PM MAIL   Вверх
andrew_121
Дата 10.8.2009, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 1
Всего: 33



Цитата(Dims @  10.8.2009,  14:51 Найти цитируемый пост)
либо (1) в торрент файле хранятся не только коды кусков

Нет. В торрент-файле хранятся только хэш коды кусков.
Цитата

#  piece length: number of bytes in each piece (integer)
#  pieces: string consisting of the concatenation of all 20-byte SHA1 hash values, one per piece (byte string, i.e. not urlencoded)


Цитата(Dims @  10.8.2009,  14:51 Найти цитируемый пост)
(2) либо общий хеш код -- это не код всего контента, а, например, хэш-код всех кодов кусков.

Возможно. Сейчас проверю.

Цитата(Dims @  10.8.2009,  14:51 Найти цитируемый пост)
Я нашёл картинку в Википедии. Из неё мне понятно, как алгоритм преобразует 5 32-битных слов.

Да, так и есть. Именно эти значения записываются в торрент файл, в виде raw.

Цитата(Dims @  10.8.2009,  15:07 Найти цитируемый пост)
А каковы блоки в торренте?

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


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Dims
Дата 10.8.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 1
Всего: 11



Так что алгоритм делает, когда ему надо захешить файл длиннее 5 слов?
PM MAIL   Вверх
andrew_121
Дата 10.8.2009, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 1
Всего: 33



Цитата(Dims @  10.8.2009,  20:25 Найти цитируемый пост)
Так что алгоритм делает, когда ему надо захешить файл длиннее 5 слов? 

Не понял вопроса...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Dims
Дата 10.8.2009, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 1
Всего: 11



На картинке, как я понял, показано, как преобразовать пять 32-битных слов, что составляет 160 бит. А как преобразовать 10 слов? Ведь надо как-то агрегировать? 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0929 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.