Как получить электронную почту с помощью Javax, используя сохраненные хешированные пароли? - PullRequest
0 голосов
/ 05 марта 2019

Вот мой случай: шесть аппаратных устройств отправляют свои данные на шесть адресов электронной почты (эта часть не находится под моим контролем).Мне нужно получить эти данные в приложении командной строки.Поскольку я всюду слышу, что хранение паролей в виде открытого текста в базе данных или в коде является плохой практикой, я хотел бы попросить пользователя ввести пароль для каждого электронного письма и сохранить его в базе данных.Я использую SSL для шифрования трафика между моим приложением и почтовым сервером.

Поэтому мой вопрос: с этими хешированными паролями, как я могу использовать Javax для получения электронной почты?С открытым текстом я могу сделать это:

Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("USER","PASSWORD");
                    }
                });

Однако, судя по документам, PasswordAuthentication работает только с открытым текстом.Что мне делать с хешированными паролями?

1 Ответ

0 голосов
/ 05 марта 2019

Вы не можете.Если бы вы могли, они были бы так же хороши, как открытый текстовый пароль.

Возможно, вы захотите рассмотреть OAuth2 аутентификация , если ваш сервер поддерживает его.

...