1. PHP / Говнокод #7488

    +177

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    <?PHP 
    /*
     *This Function Is programed By MR-O
     *The first arabic Function for crypting
    */
    function abo($variable){ 
    $variable =str_replace("1",1 ^ 52 ,$variable);
    $variable =str_replace("2",2 ^ 5 ,$variable);
    $variable =str_replace("3",3 ^ 8 ,$variable);
    $variable =str_replace("4",4 ^ 18 ,$variable);
    $variable =str_replace("5",5 ^ 30 ,$variable);
    $variable =str_replace("6",6 ^ 42 ,$variable);
    $variable =str_replace("7",7 ^ 26 ,$variable);
    $variable =str_replace("8",8 ^ 62 ,$variable);
    $variable =str_replace("9",9 ^ 1 ,$variable);
    $variable =str_replace("0",0 ^ 3 ,$variable);
    $variable =str_replace("a","m8" ,$variable);
    $variable =str_replace("b","2s" ,$variable);
    $variable =str_replace("c","9e" ,$variable);
    $variable =str_replace("d","6s" ,$variable);
    $variable =str_replace("e","a3" ,$variable);
    $variable =str_replace("f","m3" ,$variable);
    $variable =str_replace("g","6f" ,$variable);
    $variable =str_replace("h","9c" ,$variable);
    $variable =str_replace("i","85" ,$variable);
    $variable =str_replace("j","32" ,$variable);
    $variable =str_replace("k","1a" ,$variable);
    $variable =str_replace("l","6e" ,$variable);
    $variable =str_replace("m","5f" ,$variable);
    $variable =str_replace("n","9r" ,$variable);
    $variable =str_replace("o","z0" ,$variable);
    $variable =str_replace("p","y6" ,$variable);
    $variable =str_replace("q","9i" ,$variable);
    $variable =str_replace("r","y9" ,$variable);
    $variable =str_replace("s","5g" ,$variable);
    $variable =str_replace("t","p3" ,$variable);
    $variable =str_replace("u","d5" ,$variable);
    $variable =str_replace("v","t8" ,$variable);
    $variable =str_replace("w","2x" ,$variable);
    $variable =str_replace("x","6w" ,$variable);
    $variable =str_replace("y","v9" ,$variable);
    $variable =str_replace("z","zv" ,$variable);
    $variable =str_replace("A","m8" ,$variable);
    $variable =str_replace("B","24d" ,$variable);
    $variable =str_replace("C","9e" ,$variable);
    $variable =str_replace("D","6s2" ,$variable);
    $variable =str_replace("E","qw" ,$variable);
    $variable =str_replace("F","oe" ,$variable);
    $variable =str_replace("G","0t" ,$variable);
    $variable =str_replace("H","o9" ,$variable);
    $variable =str_replace("I","74" ,$variable);
    $variable =str_replace("J","dd" ,$variable);
    $variable =str_replace("K","2b" ,$variable);
    $variable =str_replace("L","rt" ,$variable);
    $variable =str_replace("M","0c" ,$variable);
    $variable =str_replace("N","2w" ,$variable);
    $variable =str_replace("O","te" ,$variable);
    $variable =str_replace("P","sc" ,$variable);
    $variable =str_replace("Q","uy" ,$variable);
    $variable =str_replace("R","hp" ,$variable);
    $variable =str_replace("S","h1" ,$variable);
    $variable =str_replace("T","s5" ,$variable);
    $variable =str_replace("U","fs" ,$variable);
    $variable =str_replace("V","e1s" ,$variable);
    $variable =str_replace("W","1y" ,$variable);
    $variable =str_replace("X","dv" ,$variable);
    $variable =str_replace("Y","w2" ,$variable);
    $variable =str_replace("Z","w5" ,$variable);
    $variable = str_replace('1','5b',$variable); 
    $variable = str_replace('2','b1',$variable); 
    $variable = str_replace('3','0j',$variable); 
    $variable = str_replace('4','1e',$variable); 
    $variable = str_replace('5','z2',$variable); 
    $variable = str_replace('6','15e',$variable); 
    $variable = str_replace('7','d2',$variable); 
    $variable = str_replace('8','e5b',$variable); 
    $variable = str_replace('9','y8',$variable); 
    $variable = str_replace('0','g1y7',$variable); 
    echo $variable ; 
    } 
    
    ?>

    Это простая функция на str_replace для шифрования пароля и прочих вещей. http://www.php.net/manual/en/function.str-replace.php#104596

    Запостил: message, 08 Августа 2011

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

    • >You can do verry much think with str_replace
      Ответить
    • >The first arabic Function for crypting
      Ответить
    • Говношифрование, однако...
      Ответить
    • афтар наверное не знает про md5() ...
      Ответить
      • Первый арабский Функция для криптования
        Ответить
      • md5 делает хеш а если требуется текст шифровать и расшифровывать.
        Ответить
        • В таком случае есть base64, если уж совсем хотите быть крутым - то RSA, TripleDES.
          Ответить
          • base64 - это способ кодирования, а не шифрования. Аффтар кода тоже сделал кодирование. Самобытное, с квадратными колесами. Да, и если хотите быть крутым - не пишите о том, чего не знаете - применять RSA для шифрования данных непосредственно есть большая глупость, а TripleDES не имеет никаких преимуществ перед некоторыми другими фейстелевскими шифрами, например, BlowFish и ГОСТ28147.
            Ответить
            • > ГОСТ28147
              нанотехнологии
              дедушка-то устарел давно
              Ответить
              • Да неужели?! Скажите это тысячам проггеров, котрые впиливают его в свои системы! Ну, или хотя бы приведите пример успешной атаки на него.
                Ответить
                • > тысячам проггеров
                  Миллионы мух, ага.

                  > хотя бы приведите пример
                  http://fse2011.mat.dtu.dk/slides/A%20Single-Key%20Attack%20on%20the%20Full%20GOST%20Block%20Cipher.pdf
                  (исследований по 28147-89 - море, кстати)
                  Ответить
                  • > Миллионы мух, ага.
                    Мухи, кстати, обычно налетают на куда более распиаренные алгоритмы.

                    > <пример статистики по атакам>
                    Прежде чем спорить, разберитесь сначала в вопросе, чтобы не выглядеть глупо. Там сказано про успешную атаку на полный цикл ГОСТ28147 со сложностью 2^225. Да, в криптологии любая атака, которая позволяет добиться взлома быстрее, чем полный перебор называется успешной (ну определение такое). И никого не волнует, что такая атака все равно требует 2-3 миллионов лет непрерывной работы мощнейшего кластерника.

                    > исследований по 28147-89 - море, кстати
                    Все верно, и они продолжаются. Все потому, что шифр есть ровесник ДЕСа, но при этом еще жив и актуален. А при таком раскладе он куда лучше аналогичных новых, на которые ЕЩЕ не атак.
                    Ответить
                    • > куда более распиаренные алгоритмы
                      Разработан в секретном НИИ(!) для 8-ого управления КГБ(!).
                      Куда еще гламурнее может быть?
                      Неудивительно, что при нынешней моде на всё славянское его вытащили, стряхнули пыль и побежали в ISO стандартизировать.

                      > разберитесь сначала в вопросе, чтобы не выглядеть глупо
                      Киса, прежде, чем строить из себя криптолога, обратите глазки на основные характеристики алгоритма и подумайте уместно ли сравнение с DES. А также оцените ироничность ситуации когда 28147-89 не получивший признания из-за низкой производительности, сегодня выступает в категории быстрых(!) блочных.

                      > он куда лучше аналогичных новых, на которые ЕЩЕ не атак.
                      О, да, дырки в старом добром славянском шкафу роднее, чем отсутствие оных в rijndael
                      Ответить
                      • Тут проблема, насколько я понимаю, в другом. Раз он наш, родной, то не грех его стандартизировать для роисских применений. Вроде как в ЭКЛЗ использовался, для генерации имитовставки. Наверняка у него обширное применение, просто от безысходности.
                        Ответить
                        • Дык, о том и речь, нанополковник и его секретарь на фоне крысиса активно проталкивают разную ымперскую хрень, лишь бы отвлечься от факта, что без штанов.
                          Ответить
                      • > Разработан в секретном НИИ(!) для 8-ого управления КГБ(!). Куда еще гламурнее может быть?

                        Может. Например, созданный и везде проталкиваемый СШП.

                        > Неудивительно, что при нынешней моде на всё славянское его вытащили, стряхнули пыль и побежали в ISO стандартизировать.

                        Какое, нафиг, славянское? Содранный с ДЕСа более чем на 2/3! И никто его не откапывал, его использовали повсеместно все это время, просто журналюги, чьи статьи вы сейчас выгуглили, заинтересовались им только сейчас.

                        > Киса, прежде, чем строить из себя криптолога

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

                        > и подумайте уместно ли сравнение с DES

                        Как нельзя уместнее - оба симметричные блочные фейстелевские шифры.

                        > А также оцените ироничность ситуации когда 28147-89 не получивший признания из-за низкой производительности, сегодня выступает в категории быстрых(!) блочных.

                        А что вам тут показалось странным?

                        > О, да, дырки в старом добром славянском шкафу роднее, чем отсутствие оных в rijndael

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

                        Во-вторых, вы гарантируете то, что когда rijndael будет в том же возрасте, в нем дырок также не найдут? По-моему, на это надеяться глупо.
                        Ответить
                        • > действительно криптолог

                          Пруф или не было!
                          Ответить
                          • > Пруф или не было!

                            Как вы себе представляете этот пруф? Хотите оставаться при своем мнении - на здоровье! Я это все писал не ради самоутверждения.
                            Ответить
                        • Как это
                          > я (внезапно) действительно криптолог.
                          > По образованию и научной деятельности.

                          сочетается с этим
                          > если б это можно было просто нагуглить
                          > - я бы об этом давно знал

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

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

                          Rijndael, кстати, не будет в таком возрасте, он будет заменен на Serpent или RC6, или же случится новый конкурс.
                          Ответить
                          • > Я дилетант, мне простительно не знать о ресурсах с криптоновостями, и я действительно гуглил. Почему специалист получает информацию тем же способом?

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

                            > Rijndael, кстати, не будет в таком возрасте, он будет заменен на...

                            Хотите сказать, что он при этом будет забыт, и у всех принудительно изымут документацию на него?
                            Ответить
                      • Кстати, фанатам rijndael советую почитать про существующие атаки на него хотя бы на той же википедии. Там сказано про взлом со сложностью 2^200. И это против 2^255 для ГОСТа. Я уж молчу про атаки по побочным каналам =)

                        [/метание_бисера]
                        Ответить
                        • Я бы порекомендовал всё таки прочитать, что такое сайд-ченнел, а то в педивикии слегка преувеличили :-)
                          Ответить
                          • Мне щас влом лезть на педивикию, скажу лишь, что шифров, по-настоящему защищенных от сайд-ченнел атак пока нет и вряд ли появятся.
                            Ответить
    • любую функцию - через str_replace!
      Ответить
    • >http://www.php.net/manual/en/function.str-replace.php#104596
      Ниже поплюсистей будут.
      Ответить
    • вчитываясь в линк, я думаю что автор пытался повторить первые шифровальные алгоритмы:
      http://ru.wikipedia.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1% 8F_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE% D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8#.D0. 9A.D1.80.D0.B8.D0.BF.D1.82.D0.BE.D0.B3.D 1.80.D0.B0.D1.84.D0.B8.D1.8F_.D0.BE.D1.8 2_.D0.A1.D1.80.D0.B5.D0.B4.D0.BD.D0.B8.D 1.85_.D0.B2.D0.B5.D0.BA.D0.BE.D0.B2_.D0. B4.D0.BE_.D0.9D.D0.BE.D0.B2.D0.BE.D0.B3. D0.BE_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0. BD.D0.B8

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

      я думаю что это на самом деле один из первых шифров. а может и просто говно.
      Ответить
      • мля, или ГК, или мазила сГКился, и побила линк.

        ищите на википедии "История криптографии" и там главу "Криптография от Средних веков до Нового времени".
        Ответить
        • http://tinyurl.com/3hof4ou

          ГК разбавляет длинный текст пробелами, если он не в теге [ code ].
          Ответить
          • было, я даже вычислил критическую массу - 40 символов (20 в военное время, если Страйкер с киянкой что-то регулирует)
            Ответить
            • показать все, что скрыто>быдло я...
              Ответить
            • кстати, нафига?
              Ответить
              • науке это неизвестно, надо спрашивать у того, кто это чудо изобрёл.
                подозреваю, что до Страйкера уже было, он фиксил чтобы эта "фича" не разрывала кодепойнты на кусочки
                Ответить
                • мда, было бы весело, если бы еще и код так разрывало.
                  Ответить
                  • с кода до сих пор белопробелы стрипаются в начале :-/
                    Ответить
                    • это защита от тех дятлов, кто готов запостить 90 ньюлайнов и 1 строчку кода после.
                      Ответить
                      • охуительная защита!
                        бей своих, чтобы чужие боялись :-D
                        Ответить
                        • это защита от спамеров
                          ссылки портятся и горе SEO-оптимизаторы сосут
                          Ответить
    • Раскажи в чем разница режимов работы с файлами. Текстового и Бинарного


      Сегодня один знокамый задал мне этот вопрос. Я не знал что ему ответить.

      fopen('путь','r') - режим чтения бинарного файла.
      fopen('путь',r+t') - режим чтения тестового файла.

      1000111100110 - бинарный файл
      ралеатупироуп8 - текстовой файл.

      И действительно в чем разница?
      Ответить
      • > 1000111100110 - бинарный файл
        > ралеатупироуп8 - текстовой файл.

        сегодня гуест жжет. да, действительно, между потоком проивольных данных и потоком символов нет никакой разницы ;]
        Ответить
        • Разница в том, что в бинарном режиме данные остаются неизменными на любой платформе. А в текстовом, в windows, могут измениться.
          Ответить
          • о порядке бит слышали на разных платформах?
            Ответить
          • Проблема в том, что практически все процессоры оперируют с числами в формате little endian, поэтому WORD номер порта, записанный в исходном коде как 255, будет интерпретирован компилятором в x00FF, а сетевая подстстема ожидает его в формате xFF00, что ЦП и компилятор интерпретируют как 65280.
            Писал как-то раз реализацию протокола ModBus over TCP/IP, намучался с этим порядком
            Ответить
    • Здравствуйте. Это вопрос наверное не совсем по теме, но все же я рискну....

      Мне интересно как договариваться... например с web money так что бы с твоего сайта можно было что-то оплатить или отправить с сайта сумму на кошелёк и подобные оприции.
      Ответить

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