0

如果我有两个值相同的字符串,是否可以保证hash(s1) == hash(s2)不使用hashlib?另外,哈希中位数的上限是多少?是否有替代方案hash是可逆的?我知道哈希函数不应该像这样使用。但是从字符串到可以反转并保证每个字符串不同的短十六进制字符串的 1-1 映射?

这会起作用吗:

import zlib
# compress
zlib.compress("foo")
zlib.decompress(zlib.compress("foo")) == "foo"  # always true?

谢谢。

4

1 回答 1

7

是的。

>>>help(hash)
    Help on built-in function hash in module builtins:

    hash(...)
        hash(object) -> integer

        Return a hash value for the object.  Two objects with the same value have
        the same hash value.  The reverse is not necessarily true, but likely.
于 2012-06-27T12:56:18.817 回答