如何使用存储的哈希密码通过Javax提取电子邮件?

时间:2019-03-05 15:39:49

标签: passwords javamail

这是我的情况:六个硬件设备将其数据发送到六个电子邮件地址(这部分不在我的控制之下)。我需要在命令行应用程序中检索此数据。由于我到处都听到将明文密码存储在数据库或代码中是不好的做法,所以我想请用户为每封电子邮件输入一次密码,然后将其散列存储在数据库中。我使用SSL加密我的应用程序和邮件服务器之间的流量。

因此,我的问题是:使用这些哈希密码,如何使用Javax检索电子邮件?使用明文,我可以这样做:

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

但是,从文档来看,PasswordAuthentication仅适用于纯文本。哈希密码该怎么办?

1 个答案:

答案 0 :(得分:0)

不能。如果可以的话,它们和纯文本密码一样好。

如果服务器支持,您可能要考虑使用OAuth2 authentication