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

    +160

    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
    /*
    ...
    */
    
    /* Add some salt */
    $sold = $settings['users']['password_salt'];
    $password = $sold.$password;
    
    /* 1. MD5 */
    $password = md5($password);
    		
    /* 2. SHA1 */
    $password = sha1($password);
    		
    /* 4. Base64 */
    $password = base64_encode($password);
    		
    /* 5. Fatality! */
    $password = sha1($password);
    
    /* Well done! */
    return $password;

    Мощно

    Запостил: qman, 10 Января 2011

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

    • это не говнокод, просто это крутой код
      Ответить
    • обмазываться_и_дрочить.rtf
      Ответить
    • насколько я помню из криптологии, надежность последовательного шифрования определяется максимальной надежностью из последовательности
      Ответить
    • По-моему, они только снизили защищённость таким методом.
      Ответить
    • >/* Add some salt */
      > $sold = ...
      соли нет, продана
      Ответить
    • Чего-то тут упущено...

      1. MD5
      2. SHA1
      3. ????
      4. PROFIT!!!
      Ответить
      • если тот, кто это написал действительно думает что base64 это разновидность хеша...
        Ответить
        • ...то serialize для него, вообще нечто непостижимое...
          Ответить
      • 3.
        DES
        CRC?
        Ответить
      • crypt() же. Устойчивость, правда, низкая из-за входных ограничений.

        Кстати, crypt(3) is the library function (DES-based) which is used to compute a password hash.
        Вот вам и DES.
        Ответить
    • Напомнило: http://xkcd.com/538/
      Ответить
      • лол. а вот мне напомнило
        shuffle массива повторенный 3 раза.

        хотя MD5+SHA1 конечно снизит вероятность эффективного брутфорса и может повысить надежность
        Ответить
        • sha1 достаточен против брутфорса. (и против удаленного брутфорса все равно (по другим причинам) надо защищатся.) даже с текущими хаками, сложность sha1 остается высокой: 2^64. до хаков считалось что сложность sha1 рoвна вероятности коллизии - 2^80.

          добавление md5 или повторение sha1 - оба излишни.

          и если пытаться быть совсем на волне времени, то можно было бы уже sha2 воспользоватся. хотя большинство систем по хранению паролей сейчас как раз на sha1 и сидят (до этого пользовались (и многие продолжают пользоватся) 3DES).
          Ответить
      • http://xkcd.ru/538/
        В России ж живём.
        Небыдло с "оригинальной озвучкой" идёт на.
        Ответить
        • > В России ж живём.

          ну кто в рассее - а кто и нет. ;) и вообще, кто сказал что я русский?

          а программеру Англицкого языка не знать - стыд и срам!
          Ответить
          • > а программеру Англицкого языка не знать - стыд и срам!

            А вот и первое недовольное небыдло!
            Ответить
        • ЭТО ПЕРИВОД ГОБЛЕНА, КАМРАД!!1
          Ответить
    • Славненько
      Ответить
    • А что, больше функций, больше процессорного времени при брутфорсе.
      Нужно было в вышенаписанное еще десяток алгоритмов добавить и раз 100500 в цикле прогнать :)
      Ответить

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