Skip to content

v3.0.0

Latest

Choose a tag to compare

@zxc7563598 zxc7563598 released this 14 Jul 11:24
· 1 commit to main since this release

🚨 重要说明

本版本引入全新的 v2 协议,全面升级加密、签名及防重放机制。

新项目建议直接使用 v2 协议。

已有项目升级至 v3.x 时,如需使用 v2 协议,必须同时升级前后端协议实现。

如需保持与旧版本兼容,可继续使用 v1 协议。

✨ v2 协议

相比 v1,v2 协议进行了全面的安全升级:

  • 签名算法由 MD5 升级为 HMAC-SHA256。
  • 数据加密由 AES-128-CBC 升级为 AES-256-GCM,同时提供数据完整性校验。
  • 密钥交换升级为基于 RSA-OAEP 的 JSON 结构化 Payload,安全传输 AES 密钥、IV 与 Nonce。
  • 新增 Nonce 防重放机制,有效抵御重放攻击。
  • 提供 NonceValidatorInterface 接口,支持接入 Redis、数据库等自定义 Nonce 存储方案。
  • 内置 InMemoryNonceValidator 默认实现,可直接使用。

其他优化

  • 协议版本改为可配置参数,可按需选择 v1 或 v2。
  • 新增 SIGN_SECRET、NONCE_TTL 配置项。
  • 所有 PHP 文件启用 declare(strict_types=1),增强类型安全。
  • 异常消息统一调整为中文。
  • 新增 .gitattributes,优化 Composer 包发布内容。

升级建议

  • 新项目: 建议直接使用 v2 协议。
  • 已有项目: 可继续使用 v1 协议;如需升级至 v2,请同步更新前端及服务端协议实现,确保双方使用相同协议版本。