Am 20.11.2013 12:41, schrieb Victor Stinner: > 2013/11/20 Victor Stinner <victor.stin...@gmail.com>: >> It looks like dict, set and frozenset representation (repr(...)) >> now depends on the platform (probably 32 bit vs 64 bit), even if >> PYTHONHASHSEED is set. I don't know if it's an issue or not. > > In Python 3.3, repr(set("abcd")) with PYTHONHASHSEED=0 always give > "{'a', 'c', 'b', 'd'}" on 32 bit and 64 bit platforms. > > In Python 3.4, repr(set("abcd")) with PYTHONHASHSEED=0 now gives > "{'b', 'a', 'c', 'd'}" on 32 bit.and "{'a', 'b', 'c', 'd'}" on 64 > bit.
I have fixed the problem in http://hg.python.org/cpython/rev/961d832d8734 . My attempt to mix the hash's MSB into LSB for 32 bit builds was the culprit. It should be secure enough without the op. _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com