Примерно несколько часов назад я спросил о переполнении стека о методах преобразования char [] в хэш MD5. Решение было предоставлено, но было сочтено небезопасным - как описано несколькими парами: Generating an MD5 Hash with a char[]Использование BCrypt с char []
Нейл Смитлайн рекомендовал использовать BCrypt, но я не могу использовать его с char [].
Причина, по которой я использую char [] для хранения извлеченного пароля из формы входа, состоит в том, что .getPassword()
поддерживает только char [].
char[] passwordChars = passwordInputField.getPassword();
String hashed = BCrypt.hashpw(passwordChars, BCrypt.gensalt(12));
В настоящее время я пытаюсь использовать приведенный выше код, чтобы сгенерировать хеш, но в качестве переменной passwordCars имеет тип полукокса [], оно не поддерживается BCrypt.haspw()
Теперь единственная причина, почему я Я не использую регулярную строку, потому что она не может быть очищена из памяти.
Мой вопрос сейчас - возможно ли каким-то образом использовать char [] с BCrypt?
Заранее благодарен!
Это нехорошая идея, но вам нужно будет взять char [] и вернуться обратно в строку (на основе того, что я могу сказать из api), который кажется плохим дизайном ... – MadProgrammer
Что бы вы сделали рекомендовать тогда? MD5 кажется небезопасным, и BCrypt, похоже, не работает с char []. –
Найти реализацию, которая не использует String – MadProgrammer