# 15. Serviços Criptográficos

Os módulos descritos nesse capítulo implementam vários algoritmos de natureza criptográfica. Eles estão disponíveis a critério da instalação. Em sistemas Unix, o módulo `crypt` pode estar disponível também. Eis uma visão geral:

- 15.1. `hashlib` — Secure hashes and message digests
  - 15.1.1. Hash algorithms
  - 15.1.2. SHAKE variable length digests
  - 15.1.3. Key derivation
  - 15.1.4. BLAKE2
    - 15.1.4.1. Creating hash objects
    - 15.1.4.2. Constantes
    - 15.1.4.3. Exemplos
      - 15.1.4.3.1. Simple hashing
      - 15.1.4.3.2. Using different digest sizes
      - 15.1.4.3.3. Keyed hashing
      - 15.1.4.3.4. Randomized hashing
      - 15.1.4.3.5. Personalization
      - 15.1.4.3.6. Modo árvore
    - 15.1.4.4. Credits
- 15.2. `hmac` — Keyed-Hashing for Message Authentication
- 15.3. `secrets` — Gera números aleatórios seguros para gerenciar segredos
  - 15.3.1. Números aleatórios
  - 15.3.2. Gerando tokens
    - 15.3.2.1. Quantos bytes os tokens devem usar?
  - 15.3.3. Outras funções
  - 15.3.4. Receitas e melhores práticas