Security 存储电子邮件帐户';密码

Security 存储电子邮件帐户';密码,security,email-client,password-encryption,Security,Email Client,Password Encryption,我正在用PHP为IMAP帐户开发一个电子邮件客户端。哪种方法是存储帐户密码的最安全的方法,以便在事后检索密码以查看电子邮件 我想我应该设法加密它。但是,我如何确保只有我的应用程序才能解密它?将密码存储在加密文件中;启动应用程序时需要解密密钥。如果需要在没有任何用户交互的情况下登录,则没有安全的解决方案。您需要依赖操作系统的存储选项,以防止恶意的非特权应用程序读取密码 如果用户在启动时输入一个密码没有问题,那么您可以使用对称加密对其他密码进行加密,然后使用KDF(如scrypt或PBKDF2)从密

我正在用PHP为IMAP帐户开发一个电子邮件客户端。哪种方法是存储帐户密码的最安全的方法,以便在事后检索密码以查看电子邮件


我想我应该设法加密它。但是,我如何确保只有我的应用程序才能解密它?

将密码存储在加密文件中;启动应用程序时需要解密密钥。

如果需要在没有任何用户交互的情况下登录,则没有安全的解决方案。您需要依赖操作系统的存储选项,以防止恶意的非特权应用程序读取密码


如果用户在启动时输入一个密码没有问题,那么您可以使用对称加密对其他密码进行加密,然后使用KDF(如scrypt或PBKDF2)从密码(和salt)派生主密钥。

Research md5单向加密是否需要脱机访问(即在用户未登录时提取邮件)?@jacktheripper:如果应用程序需要向IMAP服务器提供用户密码,单向加密显然在这里没有用处。您需要能够检索实际密码。@JoachimIsaksson至少在第一阶段没有。但是,我确实需要能够为同一个用户管理多个帐户,因此我不能在每次登录时向用户询问每个密码。