卡密验证
激活卡密并签发绑定机器码的授权票据,客户端可保存授权状态。
License System V5 为桌面软件提供卡密验证、设备绑定、在线心跳和 RSA 票据。多语言 SDK 即插即用,授权状态始终掌握在你的产品手中。
// verify once, stay online const client = new LicenseClient( "https://license.example.com", machineCode ); const license = await client.login(cardKey, deviceName); if (license.ok) { startHeartbeat(license); }
围绕真实的软件商业化场景设计,从首次验证到设备生命周期管理,每一步都有明确的服务端响应。
激活卡密并签发绑定机器码的授权票据,客户端可保存授权状态。
支持设备数量限制、满员拒绝、踢出旧设备和解绑额度管理。
通过心跳更新在线状态,服务端可返回 kick 信号处理冻结、过期和顶替。
源码绑定轻量透明,使用标准 HTTP API。下载后即可对照示例接入现有客户端。
Python 标准库 HTTP 客户端,适合工具、桌面应用和服务端脚本。
下载 license_sdk.py →基于 HttpClient,提供异步登录、心跳、设备查询和解绑接口。
下载 LicenseClient.cs →使用 Java HttpClient,支持保留 HTTP 状态码的 Response 方法。
下载 LicenseClient.java →提供 C ABI 与 RAII 风格封装,适合原生桌面软件集成。
下载 license_client.hpp →机器码、卡密和授权票据构成完整链路,业务代码只需要关心授权成功与否。
传入服务端地址和当前设备的 32 位机器码,持续复用同一机器码。
调用登录接口,保存 licenseTicket、expireUnix 和 remainDays。
调用 heartbeat 更新在线状态,收到 kick 时清理本地授权并重新验证。
# Python client = LicenseClient(BASE_URL, MACHINE_CODE) result = client.login(CARD_KEY, "办公电脑") if result.get("ok"): save_ticket(result["licenseTicket"])
// Java LicenseClient.ApiResponse result = client.loginResponse("CARD_KEY", "办公电脑"); if (result.statusCode() == 200) { use(result.body()); }