Автор оригинала: Pankaj Kumar.
В этом руководстве мы собираемся узнать о модуле Python Hashlib. Мы можем использовать Python Hashlib Модуль для создания дайджеста сообщения или защищенного хеша из исходного сообщения. В нашем предыдущем уроке мы узнали о Python Math Отказ
Python Hashlib
Для генерации Python Secure Hash-сообщения нам нужно использовать Hashlib модуль.
Функция хеширования Python Hashlib принимает переменную длину байтов и преобразует ее в последовательность фиксированной длины. Это одностороннее, функция. Это означает, что вы хешаете сообщение, вы получаете фиксированную последовательность длины. Но вы не можете получить исходное сообщение от этих фиксированных последовательностей длины.
В криптографии, хеш-алгоритм считается лучше, если исходное сообщение не может быть расшифровано из HASH-сообщений. Также изменение одного байта в исходном сообщении указывает значительное изменение значения дайджеста сообщения.
Значения Secure Hash Python используются в хранении пароля в зашифрованной форме. Таким образом, даже владелец приложения не будет иметь доступ к паролю пользователя, пароли совпадают, когда пользователь снова вводит пароль, и значение HASH рассчитывается и сравнивается с сохраненным значением.
Доступные алгоритмы хеширования
Мы можем использовать Algorithms_available
Функция Чтобы получить список всех алгоритмов, доступных в системе, включая доступные через OpenSSL. Дублирующиеся имена алгоритма можно увидеть также.
Опять же, используя Algorithms_guaranteed
Функция вы можете увидеть алгоритмы, присутствующие в модуле. Смотрите следующий код.
import hashlib print(hashlib.algorithms_available) print(hashlib.algorithms_guaranteed)
Для моей системы вывод был таким ниже. Это может отличаться на основе конфигураций операционной системы.
{'MD5', 'SHA', 'sha1', 'shake_256', 'sha3_384', 'DSA-SHA', 'MD4', 'sha3_224', 'SHA1', 'ripemd160', 'SHA512', 'sha224', 'whirlpool', 'RIPEMD160', 'DSA', 'blake2s', 'SHA384', 'ecdsa-with-SHA1', 'md5', 'blake2b', 'shake_128', 'dsaEncryption', 'sha', 'sha256', 'md4', 'SHA224', 'SHA256', 'sha3_256', 'sha512', 'dsaWithSHA', 'sha384', 'sha3_512'} {'sha256', 'blake2s', 'sha3_224', 'sha224', 'sha1', 'md5', 'sha3_256', 'shake_256', 'sha512', 'blake2b', 'shake_128', 'sha3_384', 'sha384', 'sha3_512'}
Пример Python Hashlib
Чтобы использовать модуль Python Hashlib, вам просто нужно знать мало функций. Используя hashlib.encryplation_algorithm_name (b "сообщение")
Функция, вы можете хвалить все сообщение одновременно.
Кроме того, вы можете использовать Обновление ()
Функция для добавления байтового сообщения в безопасное значение HASH. В обоих случаях вывод будет таким же. Наконец, используя Дайджест ()
Функция вы можете получить безопасный хеш.
Обратите внимание, что B написано слева от сообщения, чтобы быть хэш. Это B Указывает, что эта строка – это байтовая строка. Давайте посмотрим на пример Hashlib для более ясности.
import hashlib # import hashlib module # initialize using sha256 print('\nExample for SHA256') m = hashlib.sha256() # append string one after another m.update(b"This is a") m.update(b" great python tutorial.") print('Output 1 :', m.digest()) # use the whole string at once x = hashlib.sha256(b"This is a great python tutorial.") print('Output 2 :', x.digest()) # initialize using md5 print('\nExample for md5') m = hashlib.md5() # append string one after another m.update(b"This is a") m.update(b" great python tutorial.") print('Output 1 :', m.digest()) # use the whole string at once x = hashlib.md5(b"This is a great python tutorial.") print('Output 2 :', x.digest())
Так что вывод будет
Итак, это все о модуле Python Hashlib. Надеюсь, что вы хорошо узнали. Увидеть Официальная ссылка узнать больше об этом.