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 = {}
|
__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 = {
|
__block_openssl_constructor = {
|
||||||
'blake2b', 'blake2s',
|
'blake2b', 'blake2s',
|
||||||
}
|
}
|
||||||
|
@ -120,7 +125,7 @@ def __get_builtin_constructor(name):
|
||||||
|
|
||||||
def __get_openssl_constructor(name):
|
def __get_openssl_constructor(name):
|
||||||
if name in __block_openssl_constructor:
|
if name in __block_openssl_constructor:
|
||||||
# Prefer our blake2 and sha3 implementation.
|
# Prefer our builtin blake2 implementation.
|
||||||
return __get_builtin_constructor(name)
|
return __get_builtin_constructor(name)
|
||||||
try:
|
try:
|
||||||
# MD5, SHA1, and SHA2 are in all supported OpenSSL versions
|
# 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).
|
optionally initialized with data (which must be a bytes-like object).
|
||||||
"""
|
"""
|
||||||
if name in __block_openssl_constructor:
|
if name in __block_openssl_constructor:
|
||||||
# Prefer our blake2 and sha3 implementation
|
# Prefer our builtin blake2 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.
|
|
||||||
return __get_builtin_constructor(name)(data, **kwargs)
|
return __get_builtin_constructor(name)(data, **kwargs)
|
||||||
try:
|
try:
|
||||||
return _hashlib.new(name, data, **kwargs)
|
return _hashlib.new(name, data, **kwargs)
|
||||||
|
|
Loading…
Reference in New Issue