这是我的情况:六个硬件设备将他们的数据发送到六个电子邮件地址(这部分不在我的控制之下)。我需要在命令行应用程序中检索此数据。由于我到处都听说在数据库或代码中存储明文密码是不好的做法,我想让用户输入一次电子邮件的密码,并将其存储在数据库中。我使用SSL来加密我的应用程序和邮件服务器之间的流量。
因此,我的问题是:使用这些散列密码,如何使用Javax检索电子邮件?有了明确的文字,我可以这样做:
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("USER","PASSWORD");
}
});
但是,从文档来看,PasswordAuthentication仅适用于明文。我如何处理散列密码?
你不能。如果可以的话,它们就像明文密码一样好。
如果您的服务器支持,您可能需要考虑OAuth2 authentication。