我有一个需要登录的系统,但我正在构建它的人要求在登录期间传输密码非常安全(即使使用SSL)。所以我使用Digest访问身份验证的变体来传输登录请求。我现在唯一的问题是如何将密码存储在数据库中(最好是安全的盐渍哈希),这样它们就可以与摘要请求一起使用,密码在任何一点都不是非散列格式,除了客户浏览器几秒钟。
因此,简而言之,我如何安全地存储密码,但允许摘要(使用不同且不断变化的数据库盐的nonce)进行身份验证?
答案 0 :(得分:1)
据我了解,这种机制发送的内容如下:
hash(nonce + hash(password + salt))
因此,在服务器上,您只需要存储hash(password + salt)
和salt
。
答案 1 :(得分:0)
您可能需要查看this Perl模块的源代码;它管理* nix帐户。