mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
Improve blake2 comment for Victor (GH-20981)
Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: @tiran
This commit is contained in:
parent
66a65ba43c
commit
8a0fe7b454
@ -70,6 +70,11 @@ __all__ = __always_supported + ('new', 'algorithms_guaranteed',
|
||||
|
||||
__builtin_constructor_cache = {}
|
||||
|
||||
# Prefer our blake2 implementation
|
||||
# OpenSSL 1.1.0 comes with a limited implementation of blake2b/s. The OpenSSL
|
||||
# implementations neither support keyed blake2 (blake2 MAC) nor advanced
|
||||
# features like salt, personalization, or tree hashing. OpenSSL hash-only
|
||||
# variants are available as 'blake2b512' and 'blake2s256', though.
|
||||
__block_openssl_constructor = {
|
||||
'blake2b', 'blake2s',
|
||||
}
|
||||
@ -120,7 +125,7 @@ def __get_builtin_constructor(name):
|
||||
|
||||
def __get_openssl_constructor(name):
|
||||
if name in __block_openssl_constructor:
|
||||
# Prefer our blake2 and sha3 implementation.
|
||||
# Prefer our builtin blake2 implementation.
|
||||
return __get_builtin_constructor(name)
|
||||
try:
|
||||
# MD5, SHA1, and SHA2 are in all supported OpenSSL versions
|
||||
@ -149,10 +154,7 @@ def __hash_new(name, data=b'', **kwargs):
|
||||
optionally initialized with data (which must be a bytes-like object).
|
||||
"""
|
||||
if name in __block_openssl_constructor:
|
||||
# Prefer our blake2 and sha3 implementation
|
||||
# OpenSSL 1.1.0 comes with a limited implementation of blake2b/s.
|
||||
# It does neither support keyed blake2 nor advanced features like
|
||||
# salt, personal, tree hashing or SSE.
|
||||
# Prefer our builtin blake2 implementation.
|
||||
return __get_builtin_constructor(name)(data, **kwargs)
|
||||
try:
|
||||
return _hashlib.new(name, data, **kwargs)
|
||||
|
Loading…
Reference in New Issue
Block a user