Вычисление TTH (Tiger tree hash)

mount

Новичок
Вычисление TTH (Tiger tree hash)

TTH (Tiger Tree Hashing) используются, чтобы проверить целостность больших кусков данных. TTH выглядит примерно так: 4NIABZVGR4HOTNRPOMH2IRIJQSJYKFHEEIQUJWY и используется в программах типа Strong DC+
пытаюсь подсчитать его так:
$str=file_get_contents("testttx.rar");
$filesize=filesize("testttx.rar");
$hash = mhash(MHASH_TIGER, $str,$filesize);
$tth = base32($hash);
echo $tth;
но почему-то полученный хэш не сходится с тем значением которое выводит Strong DC+.
может быть кто-то уже сталкивался с подсчетом TTH на php?
p.s. функция base32 подключается отдельно.
 

Pigmeich

Новичок
mount
Раз не сходиться, значит нужно поискать спецификацию формата и понять как правильно вычислять.

-~{}~ 27.12.07 03:25:

google:// TTH site:wikipedia.org
 

mount

Новичок
Автор оригинала: Pigmeich
mount
Раз не сходиться, значит нужно поискать спецификацию формата и понять как правильно вычислять.

-~{}~ 27.12.07 03:25:

google:// TTH site:wikipedia.org
искал, к сожалению не нашел :(
 

Pigmeich

Новичок
mount
Да, ну?

Ну ладно, для не знающих английский - вариант № 2:
В справке для mhash написанно три вида TTH:
MHASH_TIGER

MHASH_TIGER128

MHASH_TIGER160
 

mount

Новичок
Автор оригинала: Pigmeich
mount
Да, ну?

Ну ладно, для не знающих английский - вариант № 2:
В справке для mhash написанно три вида TTH:
MHASH_TIGER

MHASH_TIGER128

MHASH_TIGER160
пробовал все три. результат:
но почему-то полученный хэш не сходится с тем значением которое выводит Strong DC+.
 

mount

Новичок
Автор оригинала: baev
mount, что делает функция base32()?
она перекодирует строку вида: "T[Mx/cJ&Mñ´Mò¯þ·ì", которая получается функцикцией $hash = mhash(MHASH_TIGER, $str,$filesize);
в 16-битную строку.
 

kode

never knows best
PHP:
$hash = mhash(MHASH_TIGER, $str);
Зачем третий параметр?

string mhash ( int $hash , string $data [, string $key ] )

key

If specified, the function will return the resulting HMAC instead. HMAC is keyed hashing for message authentication, or simply a message digest that depends on the specified key. Not all algorithms supported in mhash can be used in HMAC mode.
 

mount

Новичок
Автор оригинала: kode
PHP:
$hash = mhash(MHASH_TIGER, $str);
Зачем третий параметр?
третий параметр это размер файла.
без него все равно выдаваемое значение не соответствует тому, которое выводит программа Strong.
 

SiMM

Новичок
> она перекодирует строку вида: "T[Mx/cJ&Mñ´Mò¯þ·ì", которая получается функцикцией $hash = mhash(MHASH_TIGER, $str,$filesize);
в 16-битную строку.

Нет такой функции в PHP, посему как Вы делаете перекодирование - никому неведомо.
 

mount

Новичок
Автор оригинала: SiMM
> она перекодирует строку вида: "T[Mx/cJ&Mñ´Mò¯þ·ì", которая получается функцикцией $hash = mhash(MHASH_TIGER, $str,$filesize);
в 16-битную строку.

Нет такой функции в PHP, посему как Вы делаете перекодирование - никому неведомо.
верно, нет. и специально для этого в первом посте приписка:
p.s. функция base32 подключается отдельно.
вообще меня интересует, как на php считать TTH, который бы был такой же, как в программе Strong.
Может быть кто-то делал подобное или сталкивался?
 

mount

Новичок
Автор оригинала: Pigmeich
mount
рекомендую обратить внимание на пост kode
рекомендую обратить внимание на 9-й пост сверху.
а также прошу тех, кто понятия не имеет как считается Tiger Tree Hashing, не писать не по делу.
 

mount

Новичок
Автор оригинала: Wicked
она перекодирует строку ... в 16-битную строку.
смеялсо :)

-~{}~ 27.12.07 13:31:

в пхп мануале в каментах говорят, что сам алгоритм MHASH_TIGER какой-то кривой [/QUOTE]
я так понял из того же гугля, что MHASH_TIGER это совсем не то что нужно для Strong'а, и считается он как-то по-другому.
единственное, что верно- это кодируется в итоге в base32, что я и сделал.
поэтому и просил писать только тех, кто знает, о чем идет речь, а не тыкать в описание функции MHASH_TIGER.
 

mount

Новичок
Автор оригинала: tony2001
http://php.net/hash
уважаемый tony2001!
а какое отношение Ваша ссылка имеет к моему вопросу?
или вы просто ради флуда или блеснуть чем-то захотели?
я же просил: не относящееся к делу, и тех кто понятия не имеет что такое TTH (Tiger tree hash)- не флудить понапрасну.
 

tony2001

TeaM PHPClub
дорогой mount!
вы буквы знаете? читать умеете?
ну так читайте как использовать эти функции и как генерить tiger hash с их помощью.

еще вопросы есть?
 

Wicked

Новичок
mount
а ты, прежде чем слюной брызгать, по ссылочке сходил, да?
 

mount

Новичок
Автор оригинала: tony2001
дорогой mount!
вы буквы знаете? читать умеете?
ну так читайте как использовать эти функции и как генерить tiger hash с их помощью.

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

-~{}~ 27.12.07 12:06:

Автор оригинала: Wicked
mount
а ты, прежде чем слюной брызгать, по ссылочке сходил, да?
а ты сам сходи по этим ссылочкам и посмотри, что они никакого отношения к делу не имеют, и с помощью этих функций хэш для Стронга не подсчитать, ибо считается он совсем по другому.
по крайней мере я слюной не брызгаю.
и не люблю когда те, кто понятия не имеет о чем речь, пытаются показать что они знатоки вопроса
 
Сверху