0

在生成一次性密码时,我使用了 hmac-md5 算法(相对于 RFC 2104),hmac 结果为 128 位。使用 hmac-SHA1 算法时,结果为 160 位。我需要对我的 hmac-md5 结果应用填充以生成 20 个字节。我应该使用哪些值来填充?

4

1 回答 1

1

我需要对我的 hmac-md5 结果应用填充以生成 20 个字节。我应该使用哪些值来填充?

在现有输出上应用另一个哈希迭代。然后,使用所需的最左边的l 位。当需要拉伸时,这类似于现代 KDF。

从视觉上看,它可能看起来像:

[            hash = HMAC(message)            ][ HMAC(hash) ]
于 2014-01-17T17:53:38.667 回答