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

Проверенные VDS на SSD в Европе от $4 и России: Датацентр №1 от 199руб

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

  1. Sokil.Dmytro

    Sokil.Dmytro Новичок

    Сообщения:
    329
    Ваш город:
    Київ
    Address:
    Kiev, Ukraine
    Country:
    Location on Map:
    если знаешь си идешь на офсайт качаешь сорцы стронга и там в папочке клиент есть файлы TigerHash.
     
  2. SiMM

    SiMM Новичок

    Сообщения:
    6.373
    Ваш город:
    Чебоксары, Россия
    Address:
    Cheboksary, Russia
    Country:
    Location on Map:
    А, кстати, зачем это всё? Если дело в том, что нужно показать TTH раздаваемых файлов - то у того же Strong'а проще всё достать из files.xml.bz2
     
  3. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    6.750
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    mount
    после твоего наезда на модераторов тебе тут никто уже не даст прямого ответа или решения
     
  4. Alexandre

    Alexandre PHPПенсионер

    Сообщения:
    5.033
    Ваш город:
    Saint Petersburg, Russia
    Address:
    Saint Petersburg, Russia
    Country:
    Location on Map:
    Wicked
    кажется ты уже реализовывал это на РНР?
     
  5. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    Могу ли я вас навести на дату темы? :)
     
  6. damngood

    damngood Мозг был, но ушел...

    Сообщения:
    294
    Ваш город:
    Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
  7. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    6.750
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    да уж ... я невнимательный
     
  8. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Уважаемые гуру, так что с библиотекой для вычисления TTH?
    я скачал библиотеку http://kupershtokh.blogspot.ru/2007/12/on-phpclub.html а она выдает другой хэш чем стронг.
    например файл Joomla_3.5.1-Stable-Full_Package.zip скаченный с офсайта и размером 11,26 Мб.
    показывает echo TTH::getTTH( 'Joomla_3.5.1-Stable-Full_Package.zip');
    DG7EJ5EZQHHTZDITWSPEY4DELAJYYMO46IJ3LMQ
    а вот стронг показывает этот файл 4FQOTN2CNX4XESRJKFT7HABLJZ42RWQJG2I5HSA
    в чем может быть проблема?
     
  9. Yaponchick

    Yaponchick Новичок

    Сообщения:
    424
    Ваш город:
    Н4110, Prybar, Belarus
    Address:
    Prybar, Belarus
    Country:
    Location on Map:
    Нежить повылазила...
     
  10. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    ты не ГУРУ не тебя спрашивали.
    Спрашивал только ГУРУ.
     
  11. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Кстати на сайте http://php.net/manual/ru/function.hash.php
    написано что PHP с версии
    "5.4.0 Алгоритм Tiger теперь использует порядок байтов от старшего к младшему (big-endian)."
    Это связано с вычислением неправильного хэша?
     
  12. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    О!, нашел, я сгенерировал хэш для PHP 5.3 и он совпал с хэшем стронга.
    , потом поменял версию на PHP 5.6 и хэш стал абсолютно другим
    .
    Я так полагаю именно по этой причине тут ругань шла?!...
    .
    Может ктонибудь подскажет как скрипт адаптировать под новый PHP?
     
  13. Вурдалак

    Вурдалак Newbie

    Сообщения:
    6.032
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Замени self::base32encode() на bin2hex(), сравни значения на 5.3 и 5.4. Возможно, tigerfix уже не нужен.
     
  14. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    нет не подходит совсем другой хэш получается ни на первый ни похож ни на второй.
    .
    на сайте http://php.net/manual/ru/function.hash.php написано что функция возвращает обратный порядок байтов.
    поэтому я вставил в функцию tigerfix() после строки $my_split = str_split($binary_hash,8);
    вот это $my_split=array_reverse($my_split);
    к сожалению тоже не помогло.
    .
    :-|
     
  15. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    я ошибся не правильно понял что вы имели ввиду. но в общем то я заменил на bin2hex(). В обоих версиях значения одинаковые между собой но они НЕ совпадают с первыми(правильным стронговским и неправильным)
    .
    Может что еще другое реверснуть или я не правильно реверс делал?
     
    Последнее редактирование: 27 апр 2016
  16. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    УРААААААААААААА, нашел
    нужно в функцие tigerfix()
    закоментировать строку
    //$my_split[$key] = strrev($value);
     
  17. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    Большое спасибо "Вурдалак" за помощь тебя как ГУРУ благодарю.
    а вот у
    совсем ни грамма нет ГУРУ духа. ему еще далековато совсем.
     
  18. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    О, гуру-определитель, молю, скажи, гуру ли я?
     
    Andkorol нравится это.
  19. koreshs

    koreshs Новичок

    Сообщения:
    49
    Address:
    Mytishchi, Russia
    Country:
    Location on Map:
    О И ты великий Гуру :)
    .
    https://github.com/korenevskiy/PHP-TTH__Tiger-Hash-for-file
    В общем я разместил код на github'е пусть люди попользуются.
    А то 7 лет эта библиотека написанная тут ни кому не нужна была вообще, потому как с ошибками была.
     
  20. Adelf

    Adelf Laravel&PhpStorm Команда форума

    Сообщения:
    3.128
    Ваш город:
    Казань
    Address:
    Kazan, Russia
    Country:
    Location on Map:
    PHP:
      /**
       * If PHP version 5.4 or hightest
       * then $php54 = true
       * else $php54 = false
       */
      
    public static $php54 true;
    Я где-то слышал, что можно как-то и самому определить это, а не заставлять пользователей.

    Я уж молчу про composer в 2016 году...
     
    Yaponchick нравится это.