1. Список говнокодов пользователя buildworld

    Всего: 2

  2. bash / Говнокод #13468

    −135

    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
    #!/bin/sh
    
    # Простое, но устойчивое шифрование файлов при помощи
    # комманды openssl, входящей в любую поставку FreeBSD
    
    # Команда openssl
    openssl_cmd="openssl"
    # Метод шифрования
    enc_method="-aes-256-cbc"
    
    # Вывод справки
    use() {
        echo "Use: `basename $0` <-e|-d> filename"
        exit 0
    }
    
    # Не переданы параметры - выводим справку
    [ $2 ] || use
    
    param="$1" ; file="$2"
    
    # Файл существует? Нет - ошибка
    [ -r $file ] || \
    { echo File ${file} does not exist or is not readable. Exit. ; exit 1 ; }
    
    # Запрос пароля для шифрования
    enter_password() {
        # Отключаем отображение вводимых символов и запрашиваем пароль
        stty -echo ; printf "Enter password: " ; read password ; echo
        # Просим пароль ещё раз, для проверки. Включаем отображение вводимых символов
        printf "Verify password: " ; read verify_password ; stty echo ; echo
        # Сравниваем пароли. Различаются - ошибка
        [ $password != $verify_password ] && { echo "Incorrect password. Exit." ; exit 1 ; }
    }
    
    
    # Запрос пароля для расшифровки
    enter_password_dec() {
        stty -echo ; printf "Enter password: " ; read password ; stty echo ; echo
    }
    
    
    case $param in
        [-][Ee])
            enter_password
            file_out="${file}.encoded"
            [ -e $file_out ] && { suffix=".$(head /dev/urandom | tr -dc 'a-zA-Z' | cut -c 1-6)" ; \
            echo File ${file_out} exists. Saved as ${file_out}${suffix} ; }
            ${openssl_cmd} enc -e ${enc_method} -k ${password} -in ${file} -out ${file_out}${suffix}
            ;;
        [-][Dd])
            enter_password_dec
            file_ext="`echo ${file} | rev | cut -d. -f1`"
            if [ "$file_ext" = "dedocne" ] ; then
                file_out="`echo ${file} | rev | cut -d. -f2-1024 | rev`"
            else
                file_out="$file"
            fi
            [ -e $file_out ] && { suffix=".$(head /dev/urandom | tr -dc 'a-zA-Z' | cut -c 1-6)" ; \
            echo File ${file_out} exists. Saved as ${file_out}${suffix} ; }
            ${openssl_cmd} enc -d ${enc_method} -k ${password} -in ${file} -out ${file_out}${suffix}
            ;;
        *)
            use
            ;;
    esac

    Вот такая фигня, малята. Всё в комментариях к коду.

    buildworld, 24 Июля 2013

    Комментарии (2)
  3. bash / Говнокод #2884

    −133.6

    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
    nettest() {
      ping -c $1 $2 > /dev/null 2>&1
      if [ "$?" -eq "0" ] ; then
         true
      else
         false
      fi
    }
    
    idroot() {
      if [ "`id -u`" -eq "0" ] ; then
         true
      else
         false
      fi
    }
    
    greenc() {
      printf "\033[1;32;40m$1"
    }
    
    redc() {
      printf "\033[1;31;40m$1"
    }
    
    yellowc() {
      printf "\033[1;33;40m$1"
    }
    
    whitec() {
      printf "\033[1;37;40m$1"
    }
    
    normc() {
      printf "\033[0;37;40m$1"
    }
    
    grayc() {
      printf "\033[1;30;40m$1"
    }

    Мудак который это написал - я :))
    Нужна была небольшая библиотека для скрипта.

    buildworld, 28 Марта 2010

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