程序到时GET请求失效:
1.程序中拦截GetMapping请求;
public Object bindUserAdvice(ProceedingJoinPoint pjp, RequestMapping requestMapping) throws Throwable {
if (!RsaUtil.checkLicense(null)) {
return null;
}
return pjp.proceed();
}
private class test{
}
2.校验方法
public static boolean checkLicense(String val) throws Exception {标签:反编译,val,GET,jar,private,class,RsaUtil From: https://www.cnblogs.com/yanqb/p/17382791.html
// 加密算法、获取公钥、公钥解密。 如果没有传时间,则用默认设置的时间
val = StringUtils.isBlank(val) ? RsaUtil.license : val;
String algorithm = "RSA";
PublicKey publicKey = RsaUtil.loadPublicKeyFromString(algorithm, RsaUtil.publicKeyDefault);
String decrypt = RsaUtil.decrypt(algorithm, val, publicKey, 256);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date expire = dateFormat.parse(decrypt);
return new Date().getTime() < expire.getTime();
}
3.防止jar被反编译方法。
1 对要保护的class写一个private的内部类 private class test{}
2 打包jar
3 使用压缩工具打开查看jar
4 使用记事本打开对应class(保护$的那个类)
5 删除private 类的名称的个别字符,让private的名字变化
6 这样class就保护了,使用jude工具也打不开了(可以用idea打开class文件试下)