0

値が同じ 2 つの文字列がある場合、hash(s1) == hash(s2)を使用しなくても保証されhashlibますか? また、ハッシュの桁数の上限はいくつですか? 可逆的であることに代わるものhashはありますか?ハッシュ関数がこのように使用されることを意図していないことを理解しています。しかし、文字列から短い 16 進数文字列への 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 に答える