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

Проверенные VDS на SSD в Европе и России

Тема в разделе "Вопросы по программированию на РНР", создана пользователем mount, 27 дек 2007.

  1. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    Вычисление 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 подключается отдельно.
     
  2. Pigmeich

    Pigmeich Новичок

    Сообщения:
    386
    Adress:
    Komsomolsk-on-Amur, Russia
    Country:
    Location on Map:
    mount
    Раз не сходиться, значит нужно поискать спецификацию формата и понять как правильно вычислять.

    -~{}~ 27.12.07 03:25:

    google:// TTH site:wikipedia.org
     
  3. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    искал, к сожалению не нашел :(
     
  4. Pigmeich

    Pigmeich Новичок

    Сообщения:
    386
    Adress:
    Komsomolsk-on-Amur, Russia
    Country:
    Location on Map:
    mount
    Да, ну?

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

    MHASH_TIGER128

    MHASH_TIGER160
     
  5. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    пробовал все три. результат:
    но почему-то полученный хэш не сходится с тем значением которое выводит Strong DC+.
     
  6. baev

    baev ‹°°¬• Команда форума

    Сообщения:
    3.421
    Ваш город:
    Mytishchi, Russia
    Adress:
    Mytishchi, Russia
    Country:
    Location on Map:
    mount, что делает функция base32()?
     
  7. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    она перекодирует строку вида: "T[Mx/cJ&Mñ´Mò¯þ·ì", которая получается функцикцией $hash = mhash(MHASH_TIGER, $str,$filesize);
    в 16-битную строку.
     
  8. kode

    kode never knows best

    Сообщения:
    402
    Ваш город:
    Санкт-Петербург
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    PHP:
    $hash mhash(MHASH_TIGER$str);
    Зачем третий параметр?

     
  9. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    третий параметр это размер файла.
    без него все равно выдаваемое значение не соответствует тому, которое выводит программа Strong.
     
  10. SiMM

    SiMM Новичок

    Сообщения:
    6.373
    Ваш город:
    Чебоксары, Россия
    Adress:
    Cheboksary, Russia
    Country:
    Location on Map:
    > она перекодирует строку вида: "T[Mx/cJ&Mñ´Mò¯þ·ì", которая получается функцикцией $hash = mhash(MHASH_TIGER, $str,$filesize);
    в 16-битную строку.

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

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    верно, нет. и специально для этого в первом посте приписка:
    p.s. функция base32 подключается отдельно.
    вообще меня интересует, как на php считать TTH, который бы был такой же, как в программе Strong.
    Может быть кто-то делал подобное или сталкивался?
     
  12. Pigmeich

    Pigmeich Новичок

    Сообщения:
    386
    Adress:
    Komsomolsk-on-Amur, Russia
    Country:
    Location on Map:
    mount
    рекомендую обратить внимание на пост kode
     
  13. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    рекомендую обратить внимание на 9-й пост сверху.
    а также прошу тех, кто понятия не имеет как считается Tiger Tree Hashing, не писать не по делу.
     
  14. Wicked

    Wicked Новичок

    Сообщения:
    2.891
    Ваш город:
    Novosibirsk, Russia
    Adress:
    Novosibirsk, Russia
    Country:
    Location on Map:
    смеялсо :)

    -~{}~ 27.12.07 13:31:

    в пхп мануале в каментах говорят, что сам алгоритм MHASH_TIGER какой-то кривой
     
  15. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    смеялсо :)

    -~{}~ 27.12.07 13:31:

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

    tony2001 TeaM PHPClub

    Сообщения:
    9.257
    Adress:
    Lviv, Ukraine
    Country:
    Location on Map:
  17. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    уважаемый tony2001!
    а какое отношение Ваша ссылка имеет к моему вопросу?
    или вы просто ради флуда или блеснуть чем-то захотели?
    я же просил: не относящееся к делу, и тех кто понятия не имеет что такое TTH (Tiger tree hash)- не флудить понапрасну.
     
  18. tony2001

    tony2001 TeaM PHPClub

    Сообщения:
    9.257
    Adress:
    Lviv, Ukraine
    Country:
    Location on Map:
    дорогой mount!
    вы буквы знаете? читать умеете?
    ну так читайте как использовать эти функции и как генерить tiger hash с их помощью.

    еще вопросы есть?
     
  19. Wicked

    Wicked Новичок

    Сообщения:
    2.891
    Ваш город:
    Novosibirsk, Russia
    Adress:
    Novosibirsk, Russia
    Country:
    Location on Map:
    mount
    а ты, прежде чем слюной брызгать, по ссылочке сходил, да?
     
  20. mount

    mount Новичок

    Сообщения:
    46
    Adress:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    а на вопрос никто и не ответил.
    Вы сами пробовали генерировать с помощью этих функций хэш для стронга?
    Вы знаете как он считается?
    уж поверьте мне, прежде чем писать здесь, все что писалось выше я уже давно изучил

    -~{}~ 27.12.07 12:06:

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