Hash 时间戳哈希

Hash 时间戳哈希,hash,timestamp,Hash,Timestamp,我需要一个哈希函数(也许我不应该称之为“哈希”函数),它: 1.仅用于哈希时间戳 2.存在一个反向功能,我可以通过该功能恢复时间戳 3.不生成重复的哈希值 4.无论它是否是散列函数,它几乎与散列函数一样快 PS:关于时间戳的数据类型——在C中作为4字节“长”类型的图像 可能吗 (我需要时间戳是一个秘密——事实上,我需要散列值作为会话id,原始时间戳作为数据库中的索引。每当用户请求具有会话id的内容时,我都可以将时间戳作为索引来获取请求信息。)如果可以跳过,散列可能是一个不错的选择: (2) 如

我需要一个哈希函数(也许我不应该称之为“哈希”函数),它:

1.仅用于哈希时间戳

2.存在一个反向功能,我可以通过该功能恢复时间戳

3.不生成重复的哈希值

4.无论它是否是散列函数,它几乎与散列函数一样快

PS:关于时间戳的数据类型——在C中作为4字节“长”类型的图像

可能吗

(我需要时间戳是一个秘密——事实上,我需要散列值作为会话id,原始时间戳作为数据库中的索引。每当用户请求具有会话id的内容时,我都可以将时间戳作为索引来获取请求信息。)

如果可以跳过,散列可能是一个不错的选择:

(2) 如果您必须加密/解密,大多数语言(例如AES)都有各种算法的标准实现。这将比散列慢得多

如果您实际上不需要它来保护数据(这就引出了一个问题:为什么要费心进行任何转换?),并且只想制作一些易于可逆的非时间戳字符串(由您和其他任何人),那么请检查以下问题:


也许我不明白,但如果你需要一个反向函数,它实际上不是一个散列函数。如果你想逆转它,你不能丢失信息,所以你可以坚持时间戳本身。啊,我认为这是你问题的一个重要方面,你应该把它包括在问题中。我仍然认为“hash”在这里是一个错误的术语,我建议使用一些简单的XOR,但这不是很安全,其他人可能会有更好的想法。@Sentry是的,我意识到这实际上不是一个hash函数:]我错了。但我不会在这里更正它,因为我认为它提供了直观的含义,我在下面解释了实际含义。呃,我在最后一段再次解释了为什么我需要上面的反向函数。