"PHP" / Говнокод #17829 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
<?php
//ключ для xxtea
                $sekret = mt_rand(1,99999999999999);
        

//фальшыфка для get :D пускай тру хакеры помучаются пару недель :D

                $sol = mt_rand (1, 9999999);
                $iid = mt_rand (1, 900);
                $iid = md5($sol.$iid.sha1($sekret.$iid).md5($sol.$iid));
                $dan = base64_encode($iid);
                $dan = md5($sol.$iid.$dan.sha1($sekret.$iid.$dan).md5($sekret.$iid.$dan));
//шифровка ключа который делает розшыфровку :D знаю что  так надёжние :D :D

                $pi = mt_rand (1, 5);
                $delitil = mt_rand (1, 10);            
                $mnogitel = mt_rand (1, 15);
                $dodan = mt_rand (1, 20);
                $mn = mt_rand (1, 25);
                $mn1 = mt_rand (1, 50);
                $procent = mt_rand (1, 5);

                $procent= $sekret / $procent;
                $sekret = $sekret * $mn / $pi;         
                $pq = $sekret / $delitil;
                $pw = $pq /$procent;
                $output = $pw * $mnogitel ;
                $otv = $output + $dodan * $mn1;
//розшыфровка ключа
$otv = $output / $mn1 - $dodan;
$sekret =$output * $procent * $delitil / $mnogitel /$mn * $pi;

https://toster.ru/q/204286

Запостил: burik666 burik666, (Updated )

Комментарии (34) RSS

  • А ответы тоже ничего, только их надо постить в раздел "куча":
    Максим Гречушников @maxyc_webber Web-программист
    блиа, оффтоп конечно. но подучите русский язык, ужасно неприятно читать.
    думаю, решив этот вопрос, проблема в задаче так же исчезнет. никому безграмотный программист нафиг не сдался.

    по вопросу: в пыхе есть несколько функций для округлений. к большему, к меньшему и т.п. используйте их

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

    п.с. не старался задеть религиозных чувств. ничего личного.
    Ответить
  • тыж гляди тоже хотел запостить. потом думаю такого говна на ГК и так достаточно. А вот комменты запостить не догадался.
    Ответить
  • хм.. Я автор этого кода.
    Как всем известно xxtea имеет 1 ключ. Так как сервак удалённый я сделал пару не хитрых действий, в итоге я передаю не ключ а 9 его частей (на данный момент). В итоге эти 9 частей я умножаю, делю, добавляю и отнимаю в нужной последовательности. (для того что бы получить ключ и сделать расшифровку данных зашифрованных в xxtea) А в адресной строке тупо несколько хешей (школота на них клюнит 100% ) вот так как то. Если знаете как это всё сделать "не говнокодом" то пожайлуста пример. ИМХО я тоже могу орать говнокод говнокод не поняв сути что там происходит
    Ответить
    • бля, я даже не знаю, откуда начать. пожалуй, с того, что я не ебу, что такое xxtea, но а) вижу применение строго односторонних хэш-функций б) не вижу шифрования вообще (тут что, прямо алгоритм сразу реализуется?)
      Ответить
      • Если я правильно понял, портянка всего лишь генерирует ключ на основе псевдослучайных чисел.

        Алгоритм шифрования готовый. Возможно, даже этот: https://ru.wikipedia.org/wiki/XXTEA (но совпадение названия может быть и случайным). Если совпадение не случайно, то алгоритм симметричен и ключ всего один.
        Ответить
      • P.S. Попытался расшифровать, что нам поведал гость. Если я правильно его понял, он использует симметричный алгоритм, но при этом не хочет раскрывать ключ. Чтобы его спрятать, он вместе с ключом (по открытому каналу!) передаёт кучу лишних данных в надежде на то, что злоумышленник не догадается, как именно передаётся ключ.

        Итого: шифрование, основанное на секретности алгоритма, а не ключа.
        Ответить
    • > Если знаете как это всё сделать "не говнокодом"
      Не передавать ключ. Вообще не передавать. Настроить HTTPS на серваках и не ебать мозг. Ну либо, если хочется симметричной криптографии, то раздать каждой паре серваков общий ключик, который они никому и никогда не будут отдавать, а только юзать для шифрования пакетов и их проверки.

      P.S. И выкинь нахер этот малоизвестный XXTEA, юзай нормальные, проверенные временем и толпами криптографов алгоритмы. AES, к примеру.
      P.P.S. Шифрование не гарантирует целостность сообщений, гугли про Message Authentication Code и Authenticated Encryption.
      Ответить
      • P.P.P.S. И, скорее всего, сайт разломают банальной SQL иньекцией, даже не заметив этих хеширований и псевдокриптографии...
        Ответить
    • И да, ты хотя бы переделал алгоритм, после того как слил его на всеобщее обозрение на хабр? 🙂 Ведь 100500 школьников теперь знают, что хеши там для красоты, а вся сила в арифметике (код прилагается).
      Ответить
  • любое шифрование - подразумевает передачу данных в измененном(зашифрованном) виде. "шифрование самого ключа" - это тупо костыль от малоопытных
    Ответить
    • Передача ключей между Алисой и Бобом элементарно реализуется через Диффи-Хеллмана
      Ответить
      • И настолько же элементарно перехватывается человеком-посредине.
        Ответить
        • ДХ как раз же для того, что бы ч-п-с не мог перехватить ключ
          Ответить
          • > что бы ч-п-с не мог перехватить ключ
            Хе-хе-хе. Пассивной прослушкой не сможет. А активно участвуя в процессе - вполне так. Думаешь сертификаты в SSL от хорошей жизни прикрутили?
            Ответить
            • Вообще да, печально. Ключ по открытому каналу - это вообще печально
              Ответить
              • В общем-то всё ещё печальней - дх, сам по себе, не аутентифицирует стороны. Любой хуй с горы может прикинуться Бобом и подкатить к Алиске. Обмен ключами пройдёт нормально, посторонние этот ключ не увидят, но...
                Ответить
                  • Вот и остаётся два варианта: либо у Алисы с Бобом должна быть какая-то общая тайна (pre-shared key), либо они должны доверять какой-то третьей стороне, которая подтвердит их личность (как в ssl).
                    Ответить
                    • Но в реале 3 сторона может сливать инфу, а боб - быть треплом, которое по пьяне все разболтало злоумышленнику. Жизнь - тлен
                      Ответить
                      • А Алиса - блядью-блондинкой, которая даёт первому встречному и путает криптографию с порнографией.
                        Ответить
                        • Мне все же приятнее думать, что она наивная прекрасная девственница. А я - злоумышленник
                          Ответить
                          • «А посредине рыжий, с золотыми зубами? Ему и в карты все время везет.»
                            Ответить
                        • >А Алиса - блядью-блондинкой, которая даёт первому встречному и путает криптографию с порнографией.
                          Я джва года жду такое шифрование.
                          Уж боюсь представить какая извращённая роль в этих фантазиях отведена "человеку посередине".
                          Ответить
                            • > MITM или же нормальную ситуацию
                              Ситуация после SSL хендшейка.
                              Ответить
                            • Контрацептивы не используются, так что это передача по незащищённому каналу!
                              Ответить
                            • Это, скорее, попытка соединить два порта USB-A напрямую. И, кстати, SFW
                              Ответить
                    • Забыл ещё третий вариант - у каждого из них есть свой секрет, и они обменялись какой-то инфой, позволяющей проверить владение этим секретом (PGP, SRP, SSL с самоподписанными сертами и прочая асимметрика).
                      Ответить
  • Я подумал, что все говно в комментариях, в остальном - такого говна навалом.
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8