如何使用存储的Hashed密码使用Javax获取电子邮件



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

因此,我的问题是:使用这些哈希密码,我如何使用Javax检索电子邮件?有了清晰的文字,我可以做到这一点:

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

但是,从文档来看,密码授权仅适用于清晰的文本。我该如何处理哈希密码?

你不能。如果可以的话,它们将与清晰的文本密码一样好。

如果您的服务器支持它,则可能要考虑OAuth2身份验证。

相关内容

最新更新