Source: Криптография в python

← Rendered

markdown source:

---
description: Криптография в стандартной библиотеке python
tags: python-standart-library python
title: Криптография в python
---
Щифрование данных позволяет проверять целостность при передаче и скрывать содержимое от несанкционированного доступа.

[hashlib](https://docs.python.org/3/library/hashlib.html) предоставляет интерфейс доступа к алгоритмам хеширования. Конкретный список доступных алгоритмов зависит от от плоатформы реализации. По дефолту доступны все алгоритмы OpenSSL: SHA1, SHA224, SHA256, SHA384, SHA512 и MD5. Список поддерживаемых алгоритмов можно получить так `hashlib.algorithms_guaranteed`, а список доступных - так: `hashlib.algorithms_available`

Модуль поддерживает инкрементное обновление

[hmac](https://docs.python.org/3/library/hmac.html) реализует цифровые подписи и верификацию. Его можно использовать для проверки целостности данных

[secrets](https://docs.python.org/3/library/hmac.html) предоставляет безопасный генератор случайных значений для хеширования и верификации. Его следует использовать в подобных задачах вместо обычсной рендом-генерации, т.к. он более стойкий. П для управления такими данными, как пароли, аутентификация учетной записи, токены безопасности и связанные с ними секреты. Доступна генерация чисел и токенов.

Более расширенный функционал предоставляют сторонние модулей [cryptography](https://github.com/pyca/cryptography) и [PyCryptodome](https://github.com/Legrandin/pycryptodome).

На основе нативного бекенда и сторонних модулей реализован [python-jose](https://github.com/mpdavis/python-jose), предоставляющий JavaScript Object Signing and Encryption (JOSE) - веб-подпись JSON (JWS), веб-шифрование JSON (JWE), веб-ключ JSON (JWK) и веб-алгоритмы JSON (JWA). В частности это используется в [[fastapi]] для [[oauth2]]

Смотри еще:

- [[python-standart-library]]
- [[fastapi]]


[fastapi]: fastapi "Fastapi"
[oauth2]: oauth2 "OAuth2"
[python-standart-library]: ../lists/python-standart-library "Стандартная библиотека python и полезные ресурсы"