AYssu CipherGate 卡密授权系统的多语言第三方对接示例
本项目为 AYssu CipherGate 卡密授权系统提供 12 种主流编程语言 的完整对接示例,帮助开发者快速集成卡密验证、设备绑定、应用公告、版本更新等功能到自有应用中。
所有示例均经过测试验证,可直接运行。
| 语言 | 加密方式 | 目录 | 一键下载 |
|---|---|---|---|
| Java | AES | ciphergate-java-aes/ |
下载 |
| Java | RSA | ciphergate-java-rsa/ |
下载 |
| C++ | AES | ciphergate-cpp-aes/ |
下载 |
| Python | AES | ciphergate-python-aes/ |
下载 |
| JavaScript | AES | ciphergate-javascript-aes/ |
下载 |
| TypeScript | AES | ciphergate-typescript-aes/ |
下载 |
| Go | AES | ciphergate-go-aes/ |
下载 |
| Rust | AES | ciphergate-rust-aes/ |
下载 |
| Kotlin | AES | ciphergate-kotlin-aes/ |
下载 |
| Scala | AES | ciphergate-scala-aes/ |
下载 |
| PHP | AES | ciphergate-php-aes/ |
下载 |
| Lua | AES | ciphergate-lua-aes/ |
下载 |
所有示例均完整实现以下接口:
| 接口 | 路径 | 说明 |
|---|---|---|
| 卡密登录 | POST /api/v1/card/login |
验证卡密并绑定设备 |
| 卡密换绑 | POST /api/v1/card/rebind |
更换绑定设备 |
| 应用公告 | POST /api/v1/app/announcement |
获取应用公告信息 |
| 应用变量 | POST /api/v1/app/variables |
获取自定义变量配置 |
| 版本检查 | POST /api/v1/app/update-check |
检查是否有新版本 |
| 下载更新 | GET | 下载更新包 |
- AES-128-ECB 对称加密传输业务数据
- HMAC-SHA256 请求/响应签名验证
- 时间戳校验 防重放攻击(15秒偏差)
- Nonce 随机数 每次请求唯一标识
从 examples/ 目录下载对应语言的 zip 包,解压后按 运行文档.md 执行即可。
git clone <repository-url>
cd ciphergate-samples| 语言 | 运行命令 | 环境要求 |
|---|---|---|
| Java | ./gradlew run |
Java 17+ |
| C++ | mkdir build && cd build && cmake .. && make && ./ciphergate-client |
CMake, OpenSSL, libcurl |
| Python | pip install -r requirements.txt && python main.py |
Python 3.8+ |
| JavaScript | node main.js |
Node.js 18+ |
| TypeScript | npm install && npm start |
Node.js 18+, TypeScript |
| Go | go mod tidy && go run . |
Go 1.21+ |
| Rust | cargo run |
Rust 1.70+ |
| Kotlin | ./gradlew run |
Java 17+, Kotlin |
| Scala | ./gradlew run |
Java 17+, Scala |
| PHP | php main.php |
PHP 7.4+ |
| Lua | luajit main.lua |
LuaJIT 2.1+ |
ciphergate-samples/
├── ciphergate-java-aes/ # Java AES 示例
├── ciphergate-java-rsa/ # Java RSA 示例
├── ciphergate-cpp-aes/ # C++ AES 示例
├── ciphergate-python-aes/ # Python AES 示例
├── ciphergate-javascript-aes/ # JavaScript AES 示例
├── ciphergate-typescript-aes/ # TypeScript AES 示例
├── ciphergate-go-aes/ # Go AES 示例
├── ciphergate-rust-aes/ # Rust AES 示例
├── ciphergate-kotlin-aes/ # Kotlin AES 示例
├── ciphergate-scala-aes/ # Scala AES 示例
├── ciphergate-php-aes/ # PHP AES 示例
├── ciphergate-lua-aes/ # Lua AES 示例
├── examples/ # 打包好的示例下载
├── pack.sh # 打包脚本
└── README.md # 本文件
所有示例使用以下默认配置(可自行修改):
服务端地址: https://www.ayssu.com
应用 Key: iLyilmnIJJXRpa0jPbYrNs01eeMoTH8q
应用 Secret: HHjXxmUNtSeERqUGLxu2mmGTCMzdSmMNXAAHTB8ZRFzHiKgQIpSegy4iwrRFuE1p
加密密钥: cg_demo_key_7756
卡密: VEXXM8NH9QLPRGRS
设备 ID: dev-0012
⚠️ 以上为演示配置,正式使用时请替换为您自己的应用密钥。
- 选择语言 — 从上方表格选择对应的示例包
- 引入代码 — 将
ThirdPartySign和ThirdPartyCardClient类集成到您的项目 - 配置参数 — 填入您的 AppKey、AppSecret、AES 密钥
- 调用接口 — 根据业务需求调用对应 API 方法
| 问题 | 原因 | 解决方案 |
|---|---|---|
THIRD_PARTY_AUTH_ERROR |
AES 密钥不匹配 | 确认密钥与服务端配置一致 |
THIRD_PARTY_AUTH_BAD_SIGNATURE |
签名错误 | 检查 AppSecret 是否正确 |
DECRYPT_MISMATCH |
请求体字段与加密数据不一致 | 确保业务字段未被篡改 |
| 响应已过期 | 客户端与服务端时间差 > 15 秒 | 同步系统时间 |
| 版本检查返回 500 | 客户端版本高于服务端最高版本 | 降低版本号或联系管理员 |
如有问题,请联系 AYssu 技术支持团队。
本项目仅供授权用户使用。未经授权,禁止复制、分发或用于商业用途。