存储自动登录密码的正确方法

Posted

技术标签:

【中文标题】存储自动登录密码的正确方法【英文标题】:Correct way to store passwords for autologin 【发布时间】:2014-02-06 01:30:57 【问题描述】:

我知道了如何在服务器上存储密码,但是自动登录到服务器的客户端呢?这里最好的方法是什么?我应该存储一个散列密码,并让服务器双散列吗?我应该加密它吗?有哪些可用选项?

该软件将是开源的,因此使用的任何密钥都是公开的。

编辑:

这实际上是一个计算机程序。我可以毫无问题地发送 MAC 地址之类的东西。

【问题讨论】:

大多数客户端,无论是台式电脑还是移动设备,都已经能够安全地存储凭据...您是否有理由需要自己构建此功能? 不,我正在使用 Qt。我会调查的。 是的,Qt 也提供了类似的功能。祝你好运 【参考方案1】:

这完全取决于您想要达到的安全级别 :-) 还可以在这里查看详细讨论此主题的位置:Designing a secure auto login cookie system in php

编辑:更详细的http://jaspan.com/improved_persistent_login_cookie_best_practice 还有一篇关于整个主题的非常好的帖子:The definitive guide to form-based website authentication看看第二部分

【讨论】:

【参考方案2】:

就我而言,cookie 足够安全,可以以明文形式保存密码。仅当您有 XSS 泄漏或有人将其保存在公共计算机上时才会出现问题,以便其他人可以查找。

在这种情况下,我会采用您建议的解决方案,在客户端使用哈希,在服务器端使用双哈希。

编辑:我刚刚意识到,在使用(不安全的)WLAN 时也可以(轻松地)读出它们,所以现在以明文形式保存它们似乎是个坏主意。

【讨论】:

您永远不应该在 cookie 中以明文形式存储密码。这只是疯狂的谈话。

以上是关于存储自动登录密码的正确方法的主要内容,如果未能解决你的问题,请参考以下文章

实现用户登录系统的正确方法

我,而且用自动记住的密码登录总也登录不上这是咋回事啊?用的是360安全浏览器账号和密码的位置是黄色的

编写一个系统(登录注册验证用户名密码和验证码覆盖存储用户)

C#窗体记住密码和自动登录怎么弄

H5用户登录测试用例

一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试