我想为设备创建一个唯一的id,所以我决定创建SHA1(mac XOR时间戳XOR user_password)。有没有与此相关的安全问题?做SHA1(mac CONCATENATE timestamp CONCATENATE user_password)会更好吗?
谢谢
答案 0 :(得分:5)
使用连接 - 然后您将基于所有的可用源数据进行哈希。
如果您使用XOR,则存在一个风险,即一条源数据在将其传递给哈希函数之前将“取消”剩余数据的部分(或全部)位。
连接而不是XORing不会影响存储哈希所需的空间 - 无论源数据的大小如何,生成的SHA1哈希都将始终为20个字节。