[Python-Dev] Accepting PEP 456 (Secure hash algorithm) (original) (raw)
Christian Heimes christian at python.org
Wed Nov 20 12:54:08 CET 2013
- Previous message: [Python-Dev] Accepting PEP 456 (Secure hash algorithm)
- Next message: [Python-Dev] PEP 3156 (asyncio) formally accepted
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Am 20.11.2013 12:41, schrieb Victor Stinner:
2013/11/20 Victor Stinner <victor.stinner at 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.
- Previous message: [Python-Dev] Accepting PEP 456 (Secure hash algorithm)
- Next message: [Python-Dev] PEP 3156 (asyncio) formally accepted
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]