licence 设计

最近工作在做 交接他人写的 license 注册码 生成 以及 验证 跟产品相关的模块
-----------------
license 设计思想:
首先由客户生成注册码 跟客户主机ip相关 就是 hostname 加密后的码
然后 在根据 时间等随机产生序列号
客户将注册码发给公司,然后 用注册码 ,序列号 以及产品的其它相关信息
生成 .lic二进制文件或者.txt文本文件 ,
然后客户在那这个文件 通过命令的方式 将其导入到产品中。
数据结构:
product.title
product.version
product.type
product.interval
product.date
serial.number
public.key
customer.name
register.code
register.description
ak md5码 防止篡改
====================================
public static String generateSerialNum(){
StringBuffer str = new StringBuffer();
String[] randArr = {"0","1","2","...9","A","..","Z"};
for(int i=0;i<13;i++){
int index = (int)(randArr.length * Math.random());
str.append(randArr[index]);
}

Timestamp ts = new Timestamp(System.currentTimeMillis());
String timeStr = ts.toString();
timeStr = timeStr.replace("-", "");
timeStr = timeStr.replace(" ", "");
timeStr = timeStr.replace(":", "");
timeStr = timeStr.substring(0,14);
for(int i=0;i<7;i++){
int index = Integer.parseInt(timeStr.substring(i*2,i*2 + 2))% randArr.length;
str.append(randArr[index]);
}
String result = str.toString();
result = result.substring(0,4) + "-" + result.substring(4,10) + "-" + result.substring(10,16)
+ result.substring(16,20);
return result;
}
----------------
接下来 就是 加密 解密方法 以及 通过 bat 调用java程序 命令设计
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值