gpt4 book ai didi

java - 我应该在哪里存储凭据以及如何取回它们?

转载 作者:行者123 更新时间:2023-11-29 04:39:06 26 4
gpt4 key购买 nike

我正在用 Java 开发 Web 应用程序。在开发电子邮件发件人期间,我必须指定我的主机的凭据(电子邮件和密码)。

我正在做这样的事情:

public void sendEmail(String toAddress,
String subject, String message) throws AddressException,
MessagingException {

// sets SMTP server properties
Properties properties = new Properties();
properties.put("mail.smtp.host", smtp.gmail.com);
properties.put("mail.smtp.port", 587);
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");

// Sender's email ID needs to be mentioned
final String username = "user_mail";
final String password = "password_mail";

// creates a new session with an authenticator
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
};

Session session = Session.getInstance(properties, auth);

// creates a new e-mail message
Message msg = new MimeMessage(session);

msg.setFrom(new InternetAddress(username));
InternetAddress[] toAddresses = { new InternetAddress(toAddress) };
msg.setRecipients(Message.RecipientType.TO, toAddresses);
msg.setSubject(subject);
msg.setSentDate(new Date());
// set plain text message
msg.setText(message);

// sends the e-mail
Transport.send(msg);

}

我认为使用凭据的更好做法是将它们保存在一个 xml 文件中,然后使用某种方法(可能是 Context 的方法)调用它们。

谁能解释一下(或给我一些我可以看到的链接)我该怎么做或做得更好?

任何帮助将不胜感激。

最佳答案

一个有趣的方法是使用 Vault .它是一个用于管理“ secret ”(例如凭据、API key 等)的系统。

您还可以做其他事情,例如编写一些代码来自动加密和解密密码。

根据经验,确保您没有在生产机器上安装 JDK 也很重要。如果这样做,黑客将可以访问 javap,它是 Java 反汇编程序。输出不会那么好,但可能足以大致了解您用于保护密码的方法。

关于java - 我应该在哪里存储凭据以及如何取回它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39997196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com