加密解密的最佳实践

概述

参考:

数据加密、请求参数加密、data 加密。

简单示例

公开密钥加密 与 对称密钥加密的常见流程,以 RSA 和 AES 举例:

  • 向 A 发起请求(比如登录时),A 返回自身的 RSA 公钥,将公钥保存在本地
  • 向 A 发起请求,随机生成 X 位(e.g. 16 位、32 位)长度的字符串,用于对称加密的 AES 密钥,需要携带如下信息
    • 使用 A 的 公钥 加密 密钥 的结果可以放在请求头中
    • 使用 密钥 加密要发送的数据放在请求体中
  • A 收到请求后
    • 使用 RSA 私钥 解密请求头,以获取 密钥
    • 使用 密钥 解密请求体中的数据
    • 处理数据
    • 使用 密钥 加密响应数据放在响应体中。

最后修改 October 4, 2023: 合并 commit (98ba273b)