# 15. 暗号関連のサービス

この章で説明しているモジュールは、暗号的な性質の様々なアルゴリズムを実装しています。これらはインストールする際の選択によって利用可能です。 Unix システムにおいては、さらに `crypt` モジュールが利用可能な場合があります。これは概観です:

- 15.1. `hashlib` --- セキュアハッシュおよびメッセージダイジェスト
  - 15.1.1. ハッシュアルゴリズム
  - 15.1.2. SHAKE 可変長ダイジェスト
  - 15.1.3. 鍵導出
  - 15.1.4. BLAKE2
    - 15.1.4.1. ハッシュオブジェクトの作成
    - 15.1.4.2. 定数
    - 15.1.4.3. 使用例
      - 15.1.4.3.1. 簡単なハッシュ化
      - 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. ツリーモード
    - 15.1.4.4. クレジット:
- 15.2. `hmac` --- メッセージ認証のための鍵付きハッシュ化
- 15.3. `secrets` --- 機密を扱うために安全な乱数を生成する
  - 15.3.1. 乱数
  - 15.3.2. トークンの生成
    - 15.3.2.1. トークンは何バイト使うべきか？
  - 15.3.3. その他の関数
  - 15.3.4. レシピとベストプラクティス