49 lines
1.1 KiB
Markdown
49 lines
1.1 KiB
Markdown
|
|
# AuthModule 授权模块
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
基于硬件绑定的软件授权管理模块,支持永久授权和限时授权。
|
|||
|
|
|
|||
|
|
## 授权流程
|
|||
|
|
|
|||
|
|
### 1. 获取机器码
|
|||
|
|
客户端获取设备唯一标识码。
|
|||
|
|
|
|||
|
|
机器码生成规则:
|
|||
|
|
- CPU序列号(WMIC获取后MD5哈希)
|
|||
|
|
- 磁盘序列号
|
|||
|
|
- 格式:`XXXXXXXX-XXXXXXXX-XXXXXXXX`
|
|||
|
|
|
|||
|
|
### 2. 生成授权码
|
|||
|
|
使用 AuthRegister 工具,输入机器码和过期日期,生成授权码。
|
|||
|
|
|
|||
|
|
授权码生成流程:
|
|||
|
|
1. 组合机器码和过期日期
|
|||
|
|
2. 多轮MD5哈希计算
|
|||
|
|
3. XOR加密 + Base64编码
|
|||
|
|
|
|||
|
|
永久授权使用特殊日期:`99991231`
|
|||
|
|
|
|||
|
|
### 3. 激活授权
|
|||
|
|
保存授权信息到本地文件。
|
|||
|
|
|
|||
|
|
存储内容(加密后):
|
|||
|
|
- 机器码
|
|||
|
|
- 授权码
|
|||
|
|
- 过期日期
|
|||
|
|
- 保存时间
|
|||
|
|
|
|||
|
|
存储位置:
|
|||
|
|
- Windows: `C:/ProgramData/.sysauth`
|
|||
|
|
- Linux: `~/.config/woodauth`
|
|||
|
|
|
|||
|
|
### 4. 验证授权
|
|||
|
|
应用启动时验证授权有效性。
|
|||
|
|
|
|||
|
|
验证内容:
|
|||
|
|
1. 机器码匹配
|
|||
|
|
2. 时间回退检测(当前时间 >= 保存时间)
|
|||
|
|
3. 授权码有效性
|
|||
|
|
4. 过期时间检查(永久授权跳过)
|
|||
|
|
|