]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Improve blake2 comment for Victor (GH-20981)
authorChristian Heimes <christian@python.org>
Fri, 19 Jun 2020 14:11:02 +0000 (16:11 +0200)
committerGitHub <noreply@github.com>
Fri, 19 Jun 2020 14:11:02 +0000 (07:11 -0700)
Signed-off-by: Christian Heimes <christian@python.org>
Automerge-Triggered-By: @tiran
Lib/hashlib.py

index 1b6e50247c1815832b151a54e4add9f8db3c067a..58c340d56e3ba510b32c7fabac91fa64982be046 100644 (file)
@@ -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)