Production-ready licensing infrastructure

让软件授权
成为一段清晰的代码。

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);
}
4主流语言绑定
32 位设备机器码隔离
RSA离线票据验签
5.7+MySQL 生产支持

授权基础设施,
藏在你的产品背后。

围绕真实的软件商业化场景设计,从首次验证到设备生命周期管理,每一步都有明确的服务端响应。

01 / VERIFY

卡密验证

激活卡密并签发绑定机器码的授权票据,客户端可保存授权状态。

02 / DEVICE

设备策略

支持设备数量限制、满员拒绝、踢出旧设备和解绑额度管理。

03 / HEARTBEAT

在线守护

通过心跳更新在线状态,服务端可返回 kick 信号处理冻结、过期和顶替。

下载你的开发工具包

源码绑定轻量透明,使用标准 HTTP API。下载后即可对照示例接入现有客户端。

三步接入

机器码、卡密和授权票据构成完整链路,业务代码只需要关心授权成功与否。

01

初始化客户端

传入服务端地址和当前设备的 32 位机器码,持续复用同一机器码。

02

验证并保存票据

调用登录接口,保存 licenseTicket、expireUnix 和 remainDays。

03

按周期发送心跳

调用 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());
}