这是我的情况:六个硬件设备将其数据发送到六个电子邮件地址(这部分不在我的控制之下)。我需要在命令行应用程序中检索此数据。由于我到处都听到将明文密码存储在数据库或代码中是不好的做法,所以我想请用户为每封电子邮件输入一次密码,然后将其散列存储在数据库中。我使用SSL加密我的应用程序和邮件服务器之间的流量。
因此,我的问题是:使用这些哈希密码,如何使用Javax检索电子邮件?使用明文,我可以这样做:
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("USER","PASSWORD");
}
});
但是,从文档来看,PasswordAuthentication仅适用于纯文本。哈希密码该怎么办?