【发布时间】:2012-10-09 14:22:34
【问题描述】:
我需要一个散列函数(也许我不应该称之为“散列”函数):
1.仅用于哈希时间戳;
2.存在反向函数,我可以通过该函数恢复时间戳;
3.不会产生重复的哈希值;
4.不管是不是散列函数,都几乎和散列函数一样快;
PS:关于timestamp的数据类型——C语言中4字节“long”类型的图片。
这可能吗?
(我需要时间戳是一个秘密。---事实上,我需要哈希值作为会话 id 和原始时间戳作为我数据库中的索引。每当用户请求某些东西时使用会话 id,我可以获取时间戳作为获取请求信息的索引。)
【问题讨论】:
-
也许我只是不明白,但如果你需要一个反向函数,它并不是真正的哈希函数。如果您希望能够反转它,则不能丢失信息,因此您可以坚持使用时间戳本身。
-
啊,我认为这是您问题的一个重要方面,您应该将其包含在问题中。我仍然认为“哈希”在这里是错误的术语,我会建议一些简单的 XOR,但这不是很安全,其他人可能有更好的想法。
-
@Sentry 是的,我意识到这实际上不是一个哈希函数:] 我错了。但我不会在这里更正它,因为我认为它提供了直观的含义,我在下面解释了实际含义。