python中的一对一哈希

时间:2012-06-27 12:54:21

标签: python hash

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

这会起作用吗?

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

感谢。

1 个答案:

答案 0 :(得分:7)

YES。

>>>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.