bpo-29410: Change the default hash algorithm to SipHash13.#28752
Conversation
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
tiran
left a comment
There was a problem hiding this comment.
The removal of SipHash-2-4 should go through regular deprecation cycle.
I recommend that you keep Py_HASH_SIPHASH24, add a new constant for Py_HASH_SIPHASH13, and add deprecation for Py_HASH_SIPHASH24.
|
When you're done making the requested changes, leave the comment: |
How to add deprecation to undocumented macro? Comment in header is enough? |
They is just alias for siphash13.
|
You could add |
Co-authored-by: Christian Heimes <christian@python.org>
| # seed 42, 'abc' | ||
| [-678966196, 573763426263223372, -820489388, -4282905804826039665], | ||
| ], | ||
| 'siphash13': [ |
There was a problem hiding this comment.
Created by this code. https://gist.github.com/methane/5bb59a0563a025994e49fac509b49bf9
|
I have made the requested changes; please review again. |
|
Thanks for making the requested changes! @tiran: please review the changes made to this pull request. |
tiran
left a comment
There was a problem hiding this comment.
Excellent, almost there! I have two minor and one major suggestion for the PR.
| support :class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols. | ||
| (Contributed by Mark Dickinson and Dong-hee Na in :issue:`24234`.) | ||
|
|
||
| * ``siphash13`` is added as a new internal hash algorithm for strings, and the default |
There was a problem hiding this comment.
Small nit pick: Your change affects str, bytes, and a couple of other places like memoryview, regular expressions, and datetime objects.
There was a problem hiding this comment.
I used the word "strings" because I don't have a better word to represent it. Any suggestion?
Configure script and https://docs.python.org/3/using/configure.html#security-options uses: "hash algorithm for use in Python/pyhash.c".
There was a problem hiding this comment.
I would mention why we made it the default and that str and bytes are affected. Perhaps something like
siphash13is added as a new internal hashing algorithms. It's has similar security properties assiphash24but it is slightly faster for long inputs.str,bytes, and some other types now use it as default algorithm forhash()
|
When you're done making the requested changes, leave the comment: |
Co-authored-by: Christian Heimes <christian@python.org>
https://bugs.python.org/issue29410