hash - 使用 HMAC 进行消息签名时,对 key 、消息或两者加盐是否明智?

标签 hash digital-signature salt hmac

假设我正在设计一个库来使用 SHA-256 HMAC 对消息进行签名/验证。如果最终用户使用弱共享 key 并发送大量短消息,我认为会有攻击者发现 key 的风险。

我的直觉是我应该在 key 上附加一个唯一的(每条消息)盐,以使对 key 进行逆向工程变得更加困难。

key 加盐有多大帮助,我会通过加盐消息获得什么?

最佳答案

通常人们会为 key 加盐。它确实提高了安全性,因为它使 key 的逆向工程变得更加困难,而且因为相同的消息并不总是具有相同的 MAC,所以攻击者不能简单地重新发送之前使用相同 MAC 发送的消息。我不明白对消息进行加盐会给你带来什么。

关于hash - 使用 HMAC 进行消息签名时,对 key 、消息或两者加盐是否明智?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7273060/

相关文章:

php - 当我没有明文时,如何在 PHP 中为 htpasswd 文件生成 md5 哈希值

具有去哈希功能的 Java AES

JAVA:Restful Web 服务未正确传递参数

security - 使用 Rfc2898DeriveBytes 从明文密码创建安全密码时盐的重要性

java - 如何使用 Shiro 的 Salted AuthenticationInfo?

python - 将 Nodejs 签名哈希函数转换为 Python

hash - 为什么 '397' 用于 ReSharper GetHashCode 覆盖?

java - JAVA 中字符串转公钥

java - 如何在 Java XML 中使用引用 URI 加载外部资源

php - 我应该如何将盐合并到我的密码哈希中?