SDK & 接入示例

多语言 SDK 与接入资源

提供 Go、Python、易语言等语言的完整客户端 SDK,以及通用 HTTP 接入协议。选择你的语言,快速完成对接。

RSA 加密

请求体公钥加密,端到端安全传输

MD5 签名

参数排序拼接 + APPKEY 防篡改

防重放

10 位时间戳 + Redis 5 分钟窗口

AES 响应加密

混合信封 AES-256-CBC 加密响应

选择你的语言

SDK 与接入示例

每个 SDK 均包含完整的加密、签名与请求流程,可直接参考或用于生产

参考实现

Go SDK

client_sdk.go · 270 行

完整的 Go 语言客户端封装。基于 Client 结构体,内置 RSA 加密、MD5 签名、心跳维护等全部功能,开箱即用。

用户注册 登录 心跳 签到 卡密兑换 商店购买
Go
// Post 发送POST请求(自动加密+签名)
func (c *Client) Post(path string, params map[string]string) (map[string]interface{}, error) {
    // 1. 添加时间戳
    timestamp := fmt.Sprintf("%d", time.Now().Unix())
    params["time"] = timestamp

    // 2. 生成签名
    sign := c.generateSign(params)

    // 3. 将参数转为JSON并用RSA公钥加密
    jsonBytes, _ := json.Marshal(params)
    encrypted, err := rsa.EncryptPKCS1v15(
        rand.Reader, c.pubKey, jsonBytes)

    // 4. 设置请求头
    req.Header.Set("Content-Type", "text/plain")
    req.Header.Set("X-App-Id", c.AppID)
    req.Header.Set("X-Timestamp", timestamp)
    req.Header.Set("X-Sign", sign)
    req.Header.Set("X-Encrypt", encryptedB64)
    // ...
}

Python SDK

客户端API调用示例 · 235 行

Python 工具函数集。包含签名、RSA 加密、请求构建和 AES-256-CBC 响应解密的完整实现,附带排查清单。

sign_params rsa_encrypt 响应解密 设备指纹 5 个 API 示例
Python
# 构造安全请求头
def build_headers(params, token=None, want_enc_resp=False):
    ts = str(int(time.time()))
    params = dict(params)
    params["time"] = ts
    sign = sign_params(params, APP_KEY)
    x_encrypt = rsa_encrypt(json.dumps(params), PUB_PEM)
    h = {
        "X-App-Id":   APP_ID,
        "X-Timestamp": ts,
        "X-Sign":     sign,
        "X-Encrypt":  x_encrypt,
    }
    if token:
        h["Authorization"] = f"Bearer {token}"
    if want_enc_resp:
        h["X-Resp-Enc"] = "1"
    return h

易语言 SDK

客户端 + 管理端 · 943 行

最完整的接入文档,覆盖客户端全部接口和管理端接口。依赖精易模块和 E2EE 支持库,包含 RSA 加密、签名生成、响应解密等核心子程序。

客户端全部接口 管理端接口 精易模块 E2EE 8 个业务示例
EPL
.子程序 发送POST, 字节集
.参数 url, 文本型
.参数 params_json, 文本型
.局部变量 签名, 文本型
.局部变量 密文, 文本型

签名 = 生成签名 (params_json)
密文 = RSA_公钥加密 (params_json)

' 构建请求头
加入头部 ("X-App-Id: " + APP_ID)
加入头部 ("X-Timestamp: " + 到文本 (取时间戳 ()))
加入头部 ("X-Sign: " + 签名)
加入头部 ("X-Encrypt: " + 密文)
返回 HTTP_POST (url, 密文)

Webhook Receiver

Go 示例 · 124 行

服务端 Webhook 回调接收器示例。支持注册、订单支付、会员过期、并发拒绝四种事件,内置 HMAC-SHA256 签名校验,确保回调安全。

register order_paid member_expired concurrent_rejected HMAC-SHA256
Go
// 校验 HMAC-SHA256 签名(防伪造)
if secret != "" {
    mac := hmac.New(sha256.New, []byte(secret))
    mac.Write(body)
    expected := hex.EncodeToString(mac.Sum(nil))
    if !hmac.Equal([]byte(expected),
                   []byte(signature)) {
        http.Error(w, "invalid signature", 403)
        return
    }
}

// 按事件类型分发业务逻辑
switch event {
case "register":
    log.Printf("用户 %v 注册成功", data["uid"])
case "order_paid":
    log.Printf("订单支付成功 order_no=%v",
               data["order_no"])
}
查看源码
任何语言

通用 HTTP 接入协议

基于标准 RESTful HTTP API,任何能发起 HTTP 请求的编程语言都可以接入幽游网络验证。核心安全机制均为标准算法实现。

  • 请求参数使用 RSA 公钥加密,放入 X-Encrypt 请求头
  • MD5 签名防篡改,参数排序拼接 APPKEY 后取摘要
  • 10 位 Unix 时间戳 + Redis SETNX 防重放攻击
  • 可选 AES-256-CBC 混合信封加密响应数据
  • HMAC-SHA256 设备指纹校验(可选开启)
查看安全协议详情
Python - 完整请求构造
import time, json, hashlib, base64
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives import serialization

APP_ID  = "APP20240101ABCDEF"
APP_KEY = "你的APPKEY"
PUB_PEM = """-----BEGIN RSA PUBLIC KEY-----
<应用专属RSA公钥>
-----END RSA PUBLIC KEY-----"""

def sign_params(params, app_key):
    keys = sorted(k for k in params
                  if k not in ("sign", "sign_type"))
    raw = "&".join(f"{k}={params[k]}" for k in keys)
    return hashlib.md5(
        (raw + app_key).encode()).hexdigest()

def rsa_encrypt(plain_json, pub_pem):
    pub = serialization.load_pem_public_key(
        pub_pem.encode())
    ct = pub.encrypt(
        plain_json.encode(), padding.PKCS1v15())
    return base64.b64encode(ct).decode()

def build_headers(params, token=None):
    ts = str(int(time.time()))
    params["time"] = ts
    sign = sign_params(params, APP_KEY)
    enc = rsa_encrypt(json.dumps(params), PUB_PEM)
    return {
        "X-App-Id":   APP_ID,
        "X-Timestamp": ts,
        "X-Sign":     sign,
        "X-Encrypt":  enc,
        "Authorization": f"Bearer {token}" if token else "",
    }

选择你的语言,开始接入

幽游网络验证提供完整的安全协议和示例代码,帮助你在最短时间内完成客户端对接。