Python 3: ошибка — Hashlib не имеет атрибута «SHA256»

import hashlib    
h = hashlib.SHA256(string)

Возникла ошибка: AttributeError: модуль "hashlib" не имеет атрибута "SHA256"

Я нашел это, похожее на мой вопрос:

Но мой вывод для "import hashlib" и print(dir(hashlib)) таков:

['__all__', '__builtin_constructor_cache', '__builtins__', '__cached__', 
'__doc__', '__file__', '__get_builtin_constructor', '__loader__', 
'__name__', '__package__', '__spec__', '_hashlib', 'algorithms_available', 
'algorithms_guaranteed', 'blake2b', 'blake2s', 'md5', 'new', 'pbkdf2_hmac', 
'sha1', 'sha224', 'sha256', 'sha384', 'sha3_224', 'sha3_256', 'sha3_384', 
'sha3_512', 'sha512', 'shake_128', 'shake_256']

person user1045890    schedule 22.10.2018    source источник
comment
Дело имеет значение, используйте sha256   -  person Alexander Dmitriev    schedule 22.10.2018


Ответы (1)


Python чувствителен к регистру, а это означает, что разница между заглавными (верхними) и строчными (не заглавными) буквами имеет значение. Используйте имена в том виде, в каком они указаны на распечатке, например sha256 вместо SHA256.

Таким образом, правильный код будет

import hashlib    
h = hashlib.sha256(string)
person Eran    schedule 22.10.2018