对一些明文进行两次编码,得到相同的散列



我的服务器上会定期发送联系人列表。然后,我需要将散列编码并存储在一个没有初始值(只有散列)的数据库中。如果我收到两次联系人,则哈希值必须相同。目前我想使用AES加密。要获得两次相同的散列,需要使用相同的密钥和相同的初始化向量,这似乎非常不安全。其中一个解决方案可能是生成密钥,iv来自联系人。这比所有联系人都使用一个密钥和iv要好。这是个坏主意吗?你能提出另一个解决方案吗?

这取决于你想做什么

  • 存储编码后的联系人以检索清除数据,然后您必须使用加密:例如AES

  • 或者只对它们进行一些跟踪,看看你是否已经拥有了它们:那么一个散列就足够了。它是不可逆的。SHA,例如

您收到明确的数据吗?然后你必须做两个动作中的一个。

之后,你想用它做什么?

  • 有了加密的数据,你就可以解密

  • 使用hash,您只能看到是否再次收到它。

是全部数据,还是只是部分数据?(例如密码)

用于哈希:如何在Java中使用sha256对一些字符串进行哈希?

最新更新