Alex Gaynor <alex.gay...@gmail.com> added the comment: On Mon, Feb 6, 2012 at 5:04 PM, Marc-Andre Lemburg <rep...@bugs.python.org>wrote:
> > Marc-Andre Lemburg <m...@egenix.com> added the comment: > > Alex Gaynor wrote: > > Can't randomization just be applied to integers as well? > > A simple seed xor'ed with the hash won't work, since the attacks > I posted will continue to work (just colliding on a different hash > value). > > Using a more elaborate hash algorithm would slow down uses of > numbers as dictionary keys and also be difficult to implement for > non-integer types such as float, longs and complex numbers. The > reason is that Python applications expect x == y => hash(x) == hash(y), > e.g. hash(3) == hash(3L) == hash(3.0) == hash(3+0j). > > AFAIK, the randomization patch also doesn't cover tuples, which are > rather common as dictionary keys as well, nor any of the other > more esoteric Python built-in hashable data types (e.g. frozenset) > or hashable data types defined by 3rd party extensions or > applications (simply because it can't). > > ---------- > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <http://bugs.python.org/issue13703> > _______________________________________ > There's no need to cover any container types, because if their constituent types are securely hashable then they will be as well. And of course if the constituent types are unsecure then they're directly vulnerable. Alex ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue13703> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com