我正在使用gsoap的wsseapi插件,并希望存储散列sha1密码而不是纯文本。我花了很多时间尝试各种方法来散列明文密码进行存储。
有人可以建议一种方法来对密码进行哈希处理,以便以后可以根据客户端发送的用户名令牌摘要进行验证吗?
我似乎无法获取客户端密码来对我存储的哈希进行身份验证。
答案 0 :(得分:1)
不要滚动你自己的加密;使用社区众所周知并接受的方案,例如PBES2(由PKCS#5 v2.1指定)。如果你很幸运,你会找到一个现成的实现(提示:OpenSSL可能会这样做。)
答案 1 :(得分:0)
不存储纯文本密码是好的。选择一个开发得非常快的哈希是不是那么聪明。在http://www.tarsnap.com/scrypt.html阅读有关“密钥派生”的更多信息。基本上它会减慢“哈希密码的计算”很多,因此攻击者在尝试使用蛮力时会放慢速度。
答案 2 :(得分:0)
似乎双方都需要明文密码。这样,在服务器上,使用客户端创建的随机数对存储的密码进行哈希处理,然后比较密码哈希值。
我认为客户端可能有一种输入正常字母数字密码的方法,并且服务器可以检索预先存储的相同密码的哈希版本以进行比较。似乎这是不可能的,因为nonce,timestamp等