springboot项目license_Springboot如何实现Web系统License授权认证

本文详细介绍了如何在SpringBoot项目中实现Web系统的License授权认证机制。通过生成机器码、创建加密的lic文件及验证过程,确保系统只能在授权环境下运行。
摘要由CSDN通过智能技术生成

在我们做系统级框架的时候,我们要一定程度上考虑系统的使用版权,不能随便一个人拿去在任何环境都能用,所以我们需要给我们系统做一个授权认证机制,只有上传了我们下发的lic文件并验证通过,才能正常使用,下面就开始一步一步实现这个功能

1.生成机器码

我们首先要做的就是对软件部署的环境的唯一性进行限制,这里使用的是macadderss,当然你也可以换成cpu序列编号,并无太大影响,先上代码

private static String getMac() {

try {

Enumeration el = NetworkInterface

.getNetworkInterfaces();

while (el.hasMoreElements()) {

byte[] mac = el.nextElement().getHardwareAddress();

if (mac == null)

continue;

String hexstr = bytesToHexString(mac);

return getSplitString(hexstr, "-", 2).toUpperCase();

}

} catch (Exception exception) {

exception.printStackTrace();

}

return null;

}

public static String getMachineCode() throws Exception{

Set result = new HashSet<>();

String mac = getMac();

result.add(mac);

Properties props = System.getProperties();

String javaVersion = props.getProperty("java.version");

result.add(javaVersion);

String javaVMVersion = props.getProperty("java.vm.version");

result.add(javaVMVersion);

String osVersion = props.getProperty("os.version");

result.add(osVersion);

String code = Encrpt.GetMD5Code(result.toString());

return getSplitString(code, "-", 4);

}

这里进行的操作是取出机器码,与java版本,jvm,操作系统参数进行混合,并进行MD5操作

2.进行lic文件的生成

这是我生成证书与进行授权证书的界面,可以看到授权证书主要包含三个要素,机器码,是否永久有效标识,证书时效,我们会将这些数据写入文本中并进行加密处理,看下生成证书的代码

public static void getLicense(String isNoTimeLimit, String licenseLimit, String machineCode, String licensePath, String priavateKeyPath) throws Exception{

String[] liccontent = {

"LICENSEID=yanpeng19940119@gmail.com",

"LICENSENAME=YBLOG使用证书",

MessageFormat.format("LICENSETYPE={0}",i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值