在哈希创建唯一ID之前连接或“xor”键?

时间:2010-12-03 12:30:34

标签: security hash sha1 xor

我想为设备创建一个唯一的id,所以我决定创建SHA1(mac XOR时间戳XOR user_password)。有没有与此相关的安全问题?做SHA1(mac CONCATENATE timestamp CONCATENATE user_password)会更好吗?

谢谢

1 个答案:

答案 0 :(得分:5)

使用连接 - 然后您将基于所有的可用源数据进行哈希。

如果您使用XOR,则存在一个风险,即一条源数据在将其传递给哈希函数之前将“取消”剩余数据的部分(或全部)位。

连接而不是XORing不会影响存储哈希所需的空间 - 无论源数据的大小如何,生成的SHA1哈希都将始终为20个字节。