JavaMail 保存密码
Posted
技术标签:
【中文标题】JavaMail 保存密码【英文标题】:JavaMail save Password 【发布时间】:2014-12-31 22:01:51 【问题描述】:我正在我当前的程序中实现 javamail。如果我直接在代码中预定义凭据或通过文本/密码字段编写它,则测试邮件发送成功,但我希望它更加用户友好。我正在为我的程序使用 mysql DB,我可以在其中存储 smtp 密码,但出于安全原因,我不希望它以明文形式显示,我知道的唯一选择是同步加密并使用用户登录密码作为安全密码.
是否有任何其他选项可以安全地存储密码,或者甚至是用户不需要一直输入密码的其他选项? 当然,这只是通过复选框保存凭据的一个选项,如果用户不想要这个,他必须一直写它。
感谢您的帮助。
【问题讨论】:
【参考方案1】:将密码加密(散列)存储在数据库中。使用 Apache Common 的库进行加密,例如:
String password = "PASSWORD_TO_ENCRYPTED";
String salted = password + username; //salt the password value, using the username is only an example
String hash = DigestUtils.sha256Hex(salted.getBytes("UTF-8"));
如果您想检查给定密码是否正确,请将其加盐并以相同的方式对其进行哈希处理。然后将哈希字符串与存储在数据库中的值进行比较。
【讨论】:
这不会帮助您保存需要检索的密码,以便将其发送到邮件服务器进行登录。以上是关于JavaMail 保存密码的主要内容,如果未能解决你的问题,请参考以下文章