How to store the password of an email and use it to send an email?
我知道如何用C_发送电子邮件。为此,我需要知道用户和密码。
我对如何使用哈希+salt存储密码、存储密码的哈希有基本的了解,因此每次应用程序获取密码时,都要执行哈希并与生成的哈希值进行比较。这对于登录很好,因为用户键入可以使用该应用程序的密码。
但是,对于发送电子邮件,我希望避免用户必须编写电子邮件的密码,因此登录的解决方案不适用于这种情况。我想以某种方式将密码存储在数据库中,应用程序可以得到它。问题是,如果我存储散列密码,应用程序就无法获得密码,因为散列是单向加密的。
所以我想知道我可以用什么样的方法在数据库中安全地存储密码,应用程序可以让它发送电子邮件。
谢谢。
理想情况下,电子邮件是通过服务使用默认或通用的电子邮件ID发送的。但是,在您的情况下,如果服务正被许多用户用于发送电子邮件,您应该要求用户(第一次)登录它,然后您可以生成一个会话(在指定的时间段内),在此基础上,您应该发送电子邮件。一旦会话密钥过期,应强制用户重新登录。因此,在成功登录之后,将为每个用户生成一个会话,这些用户将使用此服务处理电子邮件。
因此,这不需要在任何地方保存密码,因为不建议将密码以原始形式或任何其他可以检索到的形式保存。