Skip to main content

签名验证

为了确保回调通知的安全性和完整性,Scenext使用HMAC-SHA256算法对所有回调请求进行签名。

签名算法

生成过程

  1. 将回调数据转换为JSON字符串(按键名排序)
  2. 使用您的API密钥作为密钥
  3. 使用HMAC-SHA256算法生成签名
  4. 将签名转换为十六进制字符串

Python实现

JavaScript实现

PHP实现

完整验证示例

Flask (Python) 服务器

Express (Node.js) 服务器

安全最佳实践

重要提示

常见问题

  1. 检查API密钥是否正确
  2. 确保JSON序列化时按键名排序
  3. 验证请求数据是否被修改
  4. 检查字符编码是否为UTF-8
强烈不建议跳过签名验证。这会使您的系统面临安全风险,包括但不限于:伪造的回调请求、数据篡改等。
时间戳验证不是必需的,但建议实现。您可以检查时间戳是否在合理范围内(比如5分钟内),以防止重放攻击。