大家早上好,
我正在使用 GWT 框架为我的公司开发 ERP,我将使用 Java Mail API 获取未读电子邮件的数量。我可以这样做,但问题是我将 SHA-512 散列密码存储在数据库中,我不会将明文密码传递给 Java Mail API,而只是将散列密码传递给避免在网络上传输明文密码。
我使用此代码来获取未读邮件的数量:
private static int getNumberOfUnreadMails() {
int numberOfUnreadMails = 0;
Properties properties = new Properties();
properties.put("mail.imap.host", "myserver.com");
properties.put("mail.imap.user", "developper@myserver.com");
properties.put("mail.imap.socketFactory", 143);
properties.put("mail.imap.socketFactory.class", "java.net.ssl.SSLSocketFactory");
properties.put("mail.imap.port", 143);
Session session = Session.getDefaultInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("developper@myserver.com", "mypassword");
}
});
Store store;
try {
store = session.getStore("imap");
store.connect();
Folder folder = store.getFolder("Inbox");
numberOfUnreadMails = folder.getUnreadMessageCount();
} catch (Exception e) {
e.printStackTrace();
}
return numberOfUnreadMails;
}
我还可以使用另一种散列算法。如果您知道我的问题的解决方案,请提前感谢您。
PS:对不起我的英语不好,我是法国人。