# 加密服务

本章中描述的模块实现了加密性质的各种算法。 它们可以在安装时自行选择。 在 Unix 系统上，`crypt` 模块也可以使用。 以下是为内容概要：

- `hashlib` --- 安全哈希与消息摘要
  - 哈希算法
  - 用法
  - 构造器
  - 属性
  - 哈希对象
  - SHAKE 可变长度摘要
  - 文件哈希
  - 密钥派生
  - BLAKE2
    - 创建哈希对象
    - 常量
    - 例子
      - 简单哈希
      - 使用不同的摘要大小
      - 密钥哈希
      - 随机哈希
      - 个性化
      - 树形模式
    - 开发人员
- `hmac` --- 基于密钥的消息验证
- `secrets` --- 生成管理密码的安全随机数
  - 随机数
  - 生成 Token
    - Token 应当使用多少个字节？
  - 其他功能
  - 应用技巧与最佳实践