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

    +85

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    try {
    	   keySpec = new PBEKeySpec(s.toCharArray());
    	   tempKey = SecretKeyFactory.getInstance(ALGORITHM).generateSecret(keySpec);
         } catch (InvalidKeySpecException i) {}
    
    if(tempKey == null) {
          keySpec = new PBEKeySpec(s.toCharArray());
          tempKey = SecretKeyFactory.getInstance(ALGORITHM).generateSecret(keySpec);
    }

    Будь настойчив и не сдавайся!!!!

    Запостил: kibberpunk, 18 Октября 2011

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

    • для надежности надо было в цикле
      Ответить
    • Это точно))я это сча в исходниках рабочего проекта нашел)поржал))
      Ответить
    • Апи не для слабонервных: первый раз всегда кидается исключение, а во второй раз всегда ништяк
      Ответить
      • а почему же так?
        Ответить
        • Это я предполагаю реализацию:
          class TrollSecretKey implements SecretKey {
              private static int tries = 0;
              public Secret generateSecret(KeySpec spec) {
                  if (tries % 2 == 0) throw new InvalidKeySpecException();
                  tries++;
                  return Secret.of(spec);
              }
          }
          Ответить
    • Надо было в catch запихать второй вызов.

      И ещё одну проверку if в finally, совсем уж для верности.
      Ответить
    • показать все, что скрытоvanished
      Ответить

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