我需要一个哈希函数(也许我不应该称之为“哈希”函数):
1.仅用于散列时间戳;
2.存在反向功能,我可以通过该功能恢复时间戳;
3.不会产生重复的哈希值;
4.不是它是散列函数,它几乎和散列函数一样快;
PS:关于时间戳的数据类型---在C中作为4字节“长”类型的图像。
这可能吗?
(我需要时间戳为秘密 .--实际上,我需要将哈希值作为会话ID,并将原始时间戳作为数据库中的索引。每当用户请求某事时使用会话ID,我可以将时间戳作为获取请求信息的索引。)
答案 0 :(得分:0)
如果你可以跳过#2 MurmurHash可能是一个不错的选择:
https://sites.google.com/site/murmurhash/
(2)如果你必须加密/解密,那么大多数语言都有各种算法的标准实现(例如AES)。这将比散列慢得多。
如果你实际上并不需要这个来保护数据(这就引出了一个问题:为什么要对任何转换感到烦恼?)并且只想制作一些非时间戳的字符串,这个字符串很容易可逆(由你 - - 以及其他任何人)然后检查这个问题: