Repository navigation
🚨 重要说明
本版本引入全新的 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,请同步更新前端及服务端协议实现,确保双方使用相同协议版本。