我正在编写C++桌面应用程序,允许用户登录某些Web服务。按照技术要求,用户可以选中“记住我”复选框,关闭应用程序并重新运行后,应用程序应该首次使用电子邮件和密码用户输入重新登录。以后在C++应用程序中登录存储密码
我知道这是不安全的,强烈不建议将密码存储在磁盘上,但我不知道如何以安全的方式记住用户的密码。有这种情况下的最佳做法或建议吗?
注意:我的应用程序是针对Windows/Ubuntu/MacOS的,因此了解与操作系统无关的方法将会很酷。我的应用程序是基于C++ 11/Qt5.4的。
我正在编写C++桌面应用程序,允许用户登录某些Web服务。按照技术要求,用户可以选中“记住我”复选框,关闭应用程序并重新运行后,应用程序应该首次使用电子邮件和密码用户输入重新登录。以后在C++应用程序中登录存储密码
我知道这是不安全的,强烈不建议将密码存储在磁盘上,但我不知道如何以安全的方式记住用户的密码。有这种情况下的最佳做法或建议吗?
注意:我的应用程序是针对Windows/Ubuntu/MacOS的,因此了解与操作系统无关的方法将会很酷。我的应用程序是基于C++ 11/Qt5.4的。
您应该实现这种设计的方式是向用户发出本地存储的SessionID,以及用于验证和访问其特定接口的SessionID。然后,如果他们希望稍后再次登录,只需使用存储的SessionID,并且如果他们希望以其他人身份登录,则清除SessionID,然后像正常一样登录它们,发出新的SessionID。这样你就不会在他们的计算机上存储敏感信息。
不幸的是,Web服务在某些情况下使会话ID无效,如长时间的用户不活动。 –
没错,但你是编写应用程序的人。您可以选择如何/何时应该实现该功能。 – Xirema
你可以存储一个体面加密的密码? –
当然可以。我只是在问最佳做法。 –
_“我只是在询问最佳做法。”_事实证明这种做法被广泛接受,并且很可能在这里被关闭。 –