程序到时GET请求失效,且防止jar被反编译—简单方法

 

  正常打包、记事本打开对应class(保护$的那个类)、随便改动内容保存即可。 (TimeoutInterceptor$test.class 和 RsaUtil$test.class)

 

程序到时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 = 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文件试下)

posted @ 2023-05-08 18:30  老年痴呆  阅读(49)  评论(0编辑  收藏  举报