1

我正在使用 gsoap 的 wsseapi 插件,并希望存储散列的 sha1 密码而不是纯文本。我花了很多时间尝试各种散列纯文本密码以进行存储的方法。

任何人都可以建议一种方法来散列密码,以便以后可以根据客户端发送的用户名令牌摘要对其进行验证?

我似乎无法获得客户端密码来针对我存储的哈希进行身份验证。

4

3 回答 3

1

不要推出自己的加密货币;使用社区熟知和接受的方案,例如 PBES2(由PKCS#5 v2.1指定)。如果你幸运的话,你会找到一个现成的实现(提示:OpenSSL可能有)。

于 2010-06-03T11:57:50.013 回答
0

不存储纯文本密码是好的。选择一个被开发为非常快速计算的哈希是..不是那么聪明。在http://www.tarsnap.com/scrypt.html阅读更多关于“密钥派生”的信息。基本上它会减慢“计算散列密码”的速度很多,因此攻击者在尝试使用蛮力时会减慢速度。

于 2010-06-03T12:01:08.977 回答
0

似乎双方都需要明文密码。这样在服务器上,存储的密码使用客户端创建的随机数进行散列,然后比较密码散列。

我认为客户端可能有一种方法可以输入普通的字母数字密码,而服务器可以检索相同密码的预存储散列版本以进行比较。由于随机数、时间戳等原因,这似乎是不可能的

于 2010-06-11T16:33:03.853 回答