使用对称密钥算法对数据(字典、字符串)进行签名和验证。
ska的Python项目详细描述
关键概念
相互通信的主机共享密钥 签署数据(请求)。密钥从不发送。
其中一种情况是对http请求进行签名。每个(http)请求都已签名 在发送方端使用共享密钥并作为结果生成 三重( 签名 , 验证用户 , 有效期至 )用于签名 请求。
- 签名 (str):生成签名。
- auth_user(str):发出请求的用户。可以是任何东西。
- 有效期至 (float str):签名过期时间(Unix时间戳)。
在接收方,使用共享的 秘钥。正在检查签名是否有效且未过期。
┌─────────────┐ Data ┌─────────────┐ │ Host 1 ├────────────────────────────>│ Host 2 │ │ ─────────── │ │ ─────────── │ │ secret key │ │ secret key │ │ 'my-secret' │<────────────────────────────┤ 'my-secret' │ └─────────────┘ Data └─────────────┘