LicenseGenerator注册机
LicenseGenerator注册机
目标
基于交互式命令的注册机、加密、解密、签名
通用诉求
- 生成非对称公私钥
- 私钥签名
- 公钥验签
业务诉求
- 基于公钥密码学的非对称加密算法,客户端存储公钥,管理员存储私钥,公钥分发到各个客户端,私钥管理员唯一存储;
- 客户将唯一标识码提供给管理员,管理员将标识码和授权码,经过私钥签名,将密文发送给客户,客户完成验签
实现
- 基于cpuid + mac address的唯一标识码
- 基于模块+到期时间的授权码
- 采用Picocli实现交互式命令
- Generate生成公私钥
- Sign签名(加密)
- Verify验签(解密)
- Checksum摘要
# Windows获取CPUID:
wmic cpu get ProcessorId
# 返回样例
ProcessorId
178BFBFF00870F10
# Windows获取MAC Address
ipconfig /all
# 返回样例
以太网适配器 以太网 3:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Sangfor aTrust VNIC
物理地址. . . . . . . . . . . . . : 00-FF-82-C8-CB-99
# 授权码样例
[20230301171336714][20230301171336714]FuelCell|VehicleDriving|
原理
采用RSA非对称加密算法生成私钥对机器ID和授权表进行加密
实现
- 生成RSA证书
- 公钥拷贝给客户端
- 私钥存放在注册机中
- 编写授权表
- 生成CPUID和MACAddress
- 采用注册机生成注册码
- 注册码拷贝到客户端校验
使用方法
# 生成公私钥(默认已经具备,根目录pub.cert,pri.cert)
generate
# 签名(生成密钥)
sign 178BFBFF00870F10|00FF82C8CB99,Compiler$20240301171336
# 校验(解密)
verify pwrzd6GF2sp7kl4GJyVcBDiSD8sRVL5/pGE+WFfzkleABR3YFjQyukaLZsf180LOvYWfPmncLgGqedmRPq+6q+bV2Vf1IhLzSu4ud7JflsW7rtbYMXOO/reArBJAfQQEiDgqWdvMl/t0IQiQiNWTD4cHvUrGgiU3eB6x/pIa9l5d47snVf4nACDNd+g1M515tpPe9C6inrjUpUMwic2oCgSPSLXL2GnJS+mSfVFJIX1b29fPRCIhq+Rl2jOzL5bWv8ucXE5cY3GGN0KRHs0Q1NKGhChcKRVQ7fPjbbjNHFO8rG0fnY2a8ny0vOVobdkWsegCvkoP+8vPrTkWTKVkSg==
TODOLIST
- 暂无
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)