# 15. Service de cryptographie

Les modules décrits dans ce chapitre mettent en œuvre divers algorithmes cryptographiques. Ils peuvent, ou pas, être disponibles, en fonction de l’installation Sur les systèmes Unix, le module `crypt` peut aussi être disponible. Voici une vue d’ensemble:

- 15.1. `hashlib` — Algorithmes de hachage sécurisés et synthèse de messages
  - 15.1.1. Algorithmes de hachage
  - 15.1.2. Synthèse de messages de taille variable SHAKE
  - 15.1.3. Dérivation de clé
  - 15.1.4. BLAKE2
    - 15.1.4.1. Création d’objets hachés
    - 15.1.4.2. Constantes
    - 15.1.4.3. Exemples
      - 15.1.4.3.1. Hachage simple
      - 15.1.4.3.2. Usage de tailles d’empreintes différentes
      - 15.1.4.3.3. Code d’authentification de message
      - 15.1.4.3.4. Hachage randomisé
      - 15.1.4.3.5. Personnalisation
      - 15.1.4.3.6. Mode Arbre
    - 15.1.4.4. Crédits
- 15.2. `hmac` — Authentification de messages par hachage en combinaison avec une clé secrète
- 15.3. `secrets` — Générer des nombres aléatoires de façon sécurisée pour la gestion des secrets
  - 15.3.1. Nombres aléatoires
  - 15.3.2. Génération de jetons
    - 15.3.2.1. Combien d’octets mon jeton doit-il comporter ?
  - 15.3.3. Autres fonctions
  - 15.3.4. Recettes et bonnes pratiques