Автор оригинала: Team Python Pool.
Привет, кодеры!! В этой статье мы познакомимся с python sha256. Мы поймем его смысл, его цель, а также научимся его реализации. Итак, давайте углубимся в эту тему.
Что такое Python SHA256?
SHA расшифровывается как Безопасные хэш-алгоритмы. Это набор криптографических хэш-функций. Эти функции могут быть использованы для различных приложений, таких как пароли и т. Д. Модуль hashlib Python используется для реализации общего интерфейса для многих различных алгоритмов безопасного хэширования и дайджеста сообщений. Хэш-алгоритмы, включенные в этот модуль, являются:
- SHA1: 160-битная хэш-функция, похожая на хэш MD5
- SHA224: внутренний размер блока 32 бита (усеченная версия)
- SHA256: внутренний размер блока 32 бита
- SHA384: внутренний размер блока 32 бита (усеченная версия)
- SHA512: внутренний размер блока 64 бита
- Алгоритм MD5
Различные функции, связанные с Python sha256:
- encode(): используется для преобразования строки в байты
- hexdigest(): используется для возврата закодированных данных в шестнадцатеричном формате
Реализация Python sha256:
import hashlib.encode().sha256(encoded) print("String : ",) print(string) print("Hash Value : ",) print(result) print("Hexadecimal equivalent: ",result.hexdigest()) print("Digest Size : ",) print(result.digest_size) print("Block Size : ",) print(result.block_size)
Выход:
Выход
Функции модуля
Давайте разберемся в различных методах, используемых в приведенном выше коде:
Hashlib:
Модуль Python используется для реализации общего интерфейса для многих различных алгоритмов безопасного хэширования и дайджеста сообщений.
строка.кодирование()
Эта функция преобразует строку в байты
Синтаксис:
Значения параметров:
- кодировка: Тип кодировки, которая будет использоватьсяЗначение по умолчанию: UTF – 8
- Значение по умолчанию: UTF – 8
- ошибки: метод ошибок, такой как backslashreplace, namereplace и т. Д
hashlib.sha256():
Эта функция используется для создания хэш-объекта SHA-256.
Hexi dist():
Эта функция используется для возврата закодированных данных в шестнадцатеричном формате.
Python hmac sha256:
HMAC расшифровывается как keyed-hash message authentication code.
Это тип кода аутентификации сообщения, который включает в себя криптографическую хэш-функцию наряду с секретным криптографическим ключом.
Синтаксис:
hmac.new(key,,)
Параметры:
- ключ: секретный ключ
- msg: Если это присутствует, вызывается метод update(msg).
- digestmod: имя дайджеста
Возвращаемое значение:
Новый объект hmac.
import hmac import hashlib import binascii def signature(key, msg): .unhexlify(key) .encode() return hmac.new(key, msg, hashlib.sha256).hexdigest().upper() print(signature("E49756B4C8FAB4E48222A3E7F3B97CC3", "Python Pool"))
Выход:
519F46535F78F67235F27BC2C1155571C4A76F21A8FCD05B1918E1738F0F54CC
В этом примере мы передали секретный ключ и сообщение методу signature (). Мы преобразовали ключ в двоичные данные с помощью метода binascii (). Затем, наконец, используя метод hmac.new (), мы сгенерировали объект hmac.
Кодировка Python sha256 в файле:
Чтобы хэшировать данный файл в Python, мы начинаем читать его бит за битом. Мы постоянно обновляем экземпляры текущих функций хеширования. Как только функция хеширования приведет все байты в порядок, мы сможем получить шестнадцатеричный дайджест.
import hashlib with open(filename,"rb") as f: .read() .sha256(bytes).hexdigest(); print(hash)
Выход:
5f12568f6f0af1ec7a7ae7c69711215bcf312e1cfaf7b11b05af109b620ef21a
В этом примере мы перебирали файл с помощью цикла. Мы читаем каждый байт файла и преобразуем его в хэш с помощью метода hexdigest ().
Преимущества Python sha256:
- Индикатор размера 64-байтового блока
- 33 байта максимальной длины сообщения
- стандартный размер слова-4 байта.
- 32-байтовая внутренняя длина позиции
- 64 итерации в одном цикле
- Скорость около 140 Мбит/с, достигаемая протоколом[is
Приложение:
Python Sha256 используется в некоторых из самых популярных протоколов шифрования и аутентификации, таких как:
- href="https://en.wikipedia.org/wiki/Secure_Sockets_Layer">SSL: href="https://en.wikipedia.org/wiki/Secure_Sockets_Layer">SSL: secure sockets layer
- TLS: безопасность транспортного уровня
- IPSec: безопасность интернет-протокола
- SSH: secure shell
Sha256 также используется в unix и linux для защиты паролей с помощью хэша.
Вывод:
На этом мы заканчиваем нашу статью. Мы узнали о Python sha256, его значении и реализации. Мы также увидели преимущества и применение hsa256 в различных протоколах аутентификации безопасности.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!