Conversation
Верификация PBKDF2_SHA256
Добавил: 1. Способ верификации "django", для осуществления авторизации с помощью PBKDF2 с SHA256. 2. Исключение на отсутствующий алгоритм(NoSuchAlgorithmException) 3. Исключение на неверные ключи(InvalidKeySpecException)
|
А поддерживать их автору? Отличная мысль |
|
А что их поддерживать? Сидит себе код, жрать не просит |
Убрал исключения для совместимости
|
Измените ветку pull request на dev или добавьте эти изменения в этот модуль |
|
Лаунчер обновляется довольно часто. Никто не знает, что автору в голову взбредёт. Сегодня она поправляет баги, завтра меняет весь модуль auth. |
| private static final String algorithm = "pbkdf2_sha256"; | ||
|
|
||
| public String getEncodedHash(String password, String salt, int iterations) { | ||
| PKCS5S2ParametersGenerator generator = new PKCS5S2ParametersGenerator(new SHA256Digest()); |
There was a problem hiding this comment.
Если это возможно нужно добавить возможность указания конкретного типа хеша (sha256)
There was a problem hiding this comment.
pbkdf2 - идет по умолчанию в джанго. Могу указать в readme к примеру. Или добавить в файл, где описание настроек было. Либо, как запросите, так и напишу. он отличается от просто sha256
| return new String(hashBase64); | ||
| } | ||
|
|
||
| public String encode(String password, String salt, int iterations) { |
There was a problem hiding this comment.
Стоит добавить переопределение метода encrypt для использования этого метода в FileAuthSystem
There was a problem hiding this comment.
Не уверен, что правильно понял
|
|
||
| public String encode(String password, String salt, int iterations) { | ||
| String hash = getEncodedHash(password, salt, iterations); | ||
| return String.format("%s$%d$%s$%s", algorithm, iterations, salt, hash); |
There was a problem hiding this comment.
Эта строка специфична для Django или является общей для всех подобных CMS?
Если специфична то этот код нужно вынести в модуль AddionalHash
Если нет то нужно поменять название класса на более общее
There was a problem hiding this comment.
Это специфично только для этого способа кодировки. В этом я уверен только потому, что другие способы не пробовал. Могу проработать полную поддержку всех способов, которые работают на джанго, но это отвлечет меня от основных дел. Предлагаю ввести этот способ, но по любым запросам по джанго, буду править код и вносить изменения. Так же, через пул. Единственный нюанс, что не могу быть всегда онлайн, т.к. работа предполагает долгое отсутствие в зоне действия сети и, тем более, компьютера
There was a problem hiding this comment.
Это специфично только для этого способа кодировки
Переименуйте тогда класс и метод на более общее название этого способа. ( pbkdf2 )
| public boolean check(String encryptedPassword, String password) { | ||
| String[] params = encryptedPassword.split("\\$"); | ||
| if (params.length != 4) { | ||
| logger.warn(" end 1 " + params.length); |
There was a problem hiding this comment.
Поправьте сообщение об ошибке
There was a problem hiding this comment.
Упс. Недосмотр. Для себя делал
|
ААааай! Научиться бы еще пользоваться этим сайтом! И, gravit0, я самоучка, которому 40 лет. Жаргон кодеров не понимаю. Если можно, могу доработать все. И то что не планировал. Но объясняться - проблема ((( |
|
Перенесите этот метод в модуль AddionalHash и тогда я смогу его принять |
Прошу добавить, так как не удобно каждый раз вписывать при обновлении.