0

如果我HMACSHA256.ComputeHash在我的密码编码方案中使用并在一台服务器上生成密码哈希,然后需要迁移到另一台服务器,我的哈希是否仍然编码相同?我记得看到一些关于machineKey密码学操作的设置,但我并不完全熟悉。

4

2 回答 2

3

它们是否仍将编码相同取决于您如何创建 HMACSHA256 对象。它将使用您实例化它的任何密钥来执行哈希,或者,如果您未指定密钥,它将生成一个随机密钥。只要您传递相同的密钥,它就会生成相同的哈希值。

于 2011-08-20T01:55:16.597 回答
0

HMAC 根据机密和您要验证的数据计算散列。为了让两台服务器计算相同的 HMAC,它们必须共享秘密,这可能使它不是秘密。为了也能够验证旧密码,密码需要被修复或以某种方式在存储的密码中被引用(如果它可以更改),使其实际上成为一种盐。

在密码存储设置中使用 HMAC 非常奇怪,它不是正确的密码派生函数(速度太快,内存不够密集),如果有的话,秘密不会带来太大的价值,看到它必须被修复(不像正确的 HMAC 使用通信双方就会话达成一致并在之后忘记的秘密)。

于 2011-08-23T09:33:00.930 回答