Hmac with SHa256 或 SHa256 with key appended in the input string?哪个更安全?

Hmac with SHa256 Or SHa256 with key appended in the input string? Which is more secure?

哪种方法更安全,使用 SHa256 散列并在输入字符串中附加密钥,或者使用该密钥并使用 SHA256 计算 Hmac?或任何其他使用密钥的哈希技术。

Hmac 更安全。

您提出的建议在 Crypto101 第 135 页中称为 "Suffix-MAC"。后缀-MAC 的问题是散列函数中的冲突可用于创建存在性伪造。也就是说,如果 h(m1) = h(m2),并且如果我知道后缀-mac(m1),那么我也知道后缀-mac(m2).

Bellare 证明了 HMAC is more robust 因为你不需要哈希函数的抗碰撞性来保证它的安全。这就是为什么 HMAC-SHA1 仍然被认为是好的,即使 SHA1 不被认为是好的。