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 保存密码的主要内容,如果未能解决你的问题,请参考以下文章

如何保存网页的登陆密码!!!

JavaMail学习笔记帐号激活与忘记密码 实例(zhuan)

UiPath中如何安全的保存账号密码

火狐浏览器没网络可以保存密码嘛

安卓浏览器保存的账号密码 在哪里

网页保存密码找回