1. Java / Говнокод #28305

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    import java.security.*
    
    var keys = KeyPairGenerator.getInstance("EC").generateKeyPair();
    var blankSignature = new byte[64]; // zero bytes
    var sig = Signature.getInstance("SHA256WithECDSAInP1363Format");
    sig.initVerify(keys.getPublic());
    sig.update("Hello, World".getBytes()); // anything
    sig.verify(blankSignature); // true

    Сказка о том, как джавушки переписали код с небезопасного языка на безопасный и помножили проверку подписей на ноль (в прямом смысле).

    https://neilmadden.blog/2022/04/19/psychic-signatures-in-java/

    bormand, 31 Июля 2022

    Комментарии (35)
  2. Java / Говнокод #28297

    0

    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
    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            try {
                System.out.println("How many characters will be in the password? (1-256):");
                short length = scanner.nextShort();
                if (length > 256) {
                    System.out.println("Password can't be longer than 256 characters!");
                } else if (length < 1) {
                    System.out.println("Password can't be less than 1 character long!");
                } else {
                    System.out.println("How many passwords will be generated? (1-32)");
                    byte amount = scanner.nextByte();
                    if (amount > 32) {
                        System.out.println("You can't generate more than 32 passwords!");
                    } else if (amount < 1) {
                        System.out.println("You can't generate less than 1 password!");
                    } else {
                        for (byte i = 0; i < amount; i++) {
                            System.out.println("\n" + PasswordGenerator.generate(length));
                        }
                    }
                }
            } catch (InputMismatchException e) {
                System.out.println("Input error!");
            }
        }
    }

    cringe

    zxc254363, 27 Июля 2022

    Комментарии (0)
  3. Java / Говнокод #28278

    0

    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
    private void calculateOverallTime() {
        if (overallTimeTimer.isTimeOut()) {
            if (overallTime[0] <= 58) {
                overallTime[0] += 1;
            }
            else {
                overallTime[0] = 0;
                if (overallTime[1] <= 58) {
                    overallTime[1] += 1;
                }
                else {
                    overallTime[1] = 0;
                    overallTime[2] += 1;
                }
            }
        }
    }

    reboober, 14 Июля 2022

    Комментарии (9)
  4. Java / Говнокод #28165

    −1

    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
    package com.company;
    import java.util.Scanner;
    
    public class Main {
        public static void main (String [] args) {
             Scanner num = new Scanner(System.in);
             int first;
             System.out.print("Enter first num: ");
             first = num.nextInt();
    
             if (first==10)
                  System.out.print("Num is 10");
    }
    }

    zdavletshin, 12 Мая 2022

    Комментарии (2)
  5. Java / Говнокод #28142

    0

    1. 1
    public static final String EMPTY = "";

    Tan seme? Tan seme?!!

    Stallman, 28 Апреля 2022

    Комментарии (18)
  6. Java / Говнокод #28118

    +1

    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
    public class Spot {
        private Piece piece;
        private int x;
        private int y;
      
        public Spot(int x, int y, Piece piece)
        {
            this.setPiece(piece);
            this.setX(x);
            this.setY(y);
        }
      
    
        public Piece getPiece() // метод возвращает объект фигуру
        {
            return this.piece;
        }
      
        public void setPiece(Piece p)
        {
            this.piece = p;
        }
      
        public int getX()
        {
            return this.x;
        }
      
        public void setX(int x)
        {
            this.x = x;
        }
      
        public int getY()
        {
            return this.y;
        }
      
        public void setY(int y)
        {
            this.y = y;
        }
    }

    Дизайн шахматной игры
    Эти виды вопросов задаются на интервью, чтобы судить о навыке объектно ориентированного дизайна кандидата. Итак, прежде всего, мы должны подумать о классах.
    https://habr.com/ru/post/660003/

    ISO, 10 Апреля 2022

    Комментарии (75)
  7. Java / Говнокод #28107

    +1

    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
    import org.springframework.core.Ordered;
       import org.springframework.core.annotation.Order;
       import org.springframework.web.bind.WebDataBinder;
       import org.springframework.web.bind.annotation.ControllerAdvice;
       import org.springframework.web.bind.annotation.InitBinder;
    
       @ControllerAdvice
       @Order(10000)
       public class BinderControllerAdvice {
          @InitBinder
          public void setAllowedFields(WebDataBinder dataBinder) {
    
              String[] denylist = new String[]{"class.", "Class.", ".class.", ".Class."};
    
              dataBinder.setDisallowedFields(denylist);
          }
       }

    Критическая 0-day уязвимость в Spring Framework, применяемом во многих Java-проектах

    Работа эксплоита сводится к отправке запроса с параметрами "class.module.classLoader.resources.cont ext.parent.pipeline.first.*", обработка которых при использовании "WebappClassLoaderBase" приводит к обращению к классу AccessLogValve. Указанный класс позволяет настроить логгер для создания произвольного jsp-файла в корневом окружении Apache Tomcat и записи в этот файл указанного атакующим кода. Созданный файл становится доступным для прямых запросов и может использоваться в качестве web shell. Для атаки на уязвимое приложение в окружении Apache Tomcat достаточно отправить запрос с определёнными параметрами при помощи утилиты curl.

    curl -v -d "class.module.classLoader.resources.context.parent.pipeline
    .first.pattern=код_для_вставки_в_файл
    &class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp
    &class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT
    &class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar
    &class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat="
    http://localhost:8080/springmvc5-helloworld-exmaple-0.0.1-SNAPSHOT/rapid7

    3_dar, 04 Апреля 2022

    Комментарии (4)
  8. Java / Говнокод #28064

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    boolean isEven(int number) {
        while (number > 2) {
            number = number - 2;
        }
        if (number == 2) {
            return true;
        } else {
            return false;
        }
    }

    Мистер Хэнки, 28 Февраля 2022

    Комментарии (7)
  9. Java / Говнокод #28015

    +1

    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
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    public class ExampleW{
        public static void main(){
            Scanner input = new Scanner(System.in);
            System.out.println("Give mark: ");
            int mark = input.nextInt();
            String Grade;
            switch (mark){
            case 100:
            case 99:
            case 98:
            case 97:
            case 96:
            case 95:
            case 94:
            case 93:
            case 92:
            case 91:
            case 90:{
                Grade = "A+";
                break;
            }case 89:
            case 88:
            case 87:
            case 86:
            case 85:
            case 84:
            case 83:
            case 82:
            case 81:
            case 80: {
                Grade = "A";
                break;
            }case 75:
            case 76:
            case 77:
            case 78:
            case 79:{
                Grade = "A-";
                break;
            }case 70:
            case 71:
            case 72:
            case 73:
            case 74:{
                Grade ="B+";
                break;
            } case 69:
            case 68:
            case 67:
            case 66:
            case 65:{
                Grade ="B";
                break;
            }
            case 64:
            case 63:
            case 62:
            case 61:
            case 60:{
                Grade = "C+";
                break;
            }case 50:
            case 51:
            case 52:
            case 53:
            case 54:
            case 55:
            case 56:
            case 57:
            case 58:
            case 59: {
                Grade = "C";
                break;
            }case 45:
            case 46:
            case 47:
            case 48:
            case 49:{
                Grade = "D";
                break;
            }case 40:
            case 41:
            case 42:
            case 43:
            case 44:{
                Grade = "E";
                break;
            }case 0:
            case 1:
            case 2:
            case 3:
            ...
            ...
            }default: {
                Grade = "null";
                break;
            }}
    }

    Мистер Хэнки, 15 Февраля 2022

    Комментарии (95)
  10. Java / Говнокод #27938

    −2

    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
    import java.util.Scanner;
    
    public class JavaApplication5 {
    
        public static void main(String[] args) {
            Scanner sw = new Scanner(System.in);
            System.out.print("Введите число: ");
            int week = sw.nextInt();
            System.out.println("The day is "+day);
        
    }
    
    class Month{
        
            String day;
            switch (int week) {
                case 1:
                    day = "Monday";
                    break;
                case 2:
                    day = "Tuesday";
                    break;
                case 3:
                    day = "Wednesday";
                    break;
                // match the value of week
                case 4:
                    day = "Thursday";
                    break;
                case 5:
                    day = "Friday";
                    break;
                case 6:
                    day = "Saturday";
                    break;
                case 7:
                    day = "Sunday";
                    break;
                default:
                    day = "---";
                    break;
            }
            
        }
    }

    Нужно чтобы от пользователя запрашивался номер дня недели, а получалось название. Не пойму, что не так. Помогите, пожалуйста, Добрые Люди

    123AAAANNNAAA, 08 Января 2022

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