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

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

时间:2023-05-08 18:33:48浏览次数:30  
标签:反编译 val GET jar private class RsaUtil

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

标签:反编译,val,GET,jar,private,class,RsaUtil
From: https://www.cnblogs.com/yanqb/p/17382791.html

相关文章

  • 【Oracle】使用xmlagg(xmlparse(content()).getclobval()拼接信息
    使用xmlagg(xmlparse(content()).getclobval()拼接信息简单来说格式如下xmlagg(xmlparse(content(内容||分割符)).getclobval()内容就是使用显示的数据部分,分隔符不同效果不同,分隔符可以使用chr()函数无分隔符xmlagg(xmlparse(content('这是一个字段:'||v.supercode||'、......
  • MFC-GetProcAddress获取动态链接库中函数的地址
     HMODULEhmodule=::GetModuleHandle(_T("kernel32.dll"));//获取动态链接库的模块句柄typedefDWORD(*p)(void);//声明函数指针数据类型charch[]="GetCurrentThreadId";//【特别注意:这个函数名必须是ANSI的char类型】pf=(p):......
  • 接口测试框架REST Assured(一) 测试get接口
    使用RESTAssured接口测试框架测试get接口主要依赖rest-assured-5.2.0.jarstep1:传入get的params参数 step2:调用get方法 对比使用postman发get请求 返回结果 ......
  • How to use Linux command or Python code get Raspberry PI's Temperature All In On
    HowtouseLinuxcommandorPythoncodegetRaspberryPI'sTemperatureAllInOne如何使用Linux命令或Python代码获取RaspberryPI的温度raspberrypicheckthetemperatureimportgpiozeroasgz#readthetemperatureintoavariable:cpu_temp=gz.CPUTe......
  • MFC-GetModuleHandle获取动态链接库的模块句柄
     HMODULEhmodule=::GetModuleHandle(_T("kernel32.dll"));//获取动态链接库的模块句柄/*参数:LPCTSTR指向含有模块名称字符串的指针返回值:HMODULE,如执行成功成功,则返回模块句柄。零表示失败。获取错误信息*/     ......
  • 缺少Jackson jar包,导致对象无法转化为json数据输出
       用于Json的序列化(serialization)和反序列化(deserialization)。Jackson包含三个包jackson-core、jackson-annotation、jackson-databind,作用如下  <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</a......
  • Java 三方接口PHP写法;doHmacSHA2; 将字节数组转换成16进制字符串;Mac.getInstance;Hma
    先看一段Java代码,一个签名过程1packagecom.sixents.bss.filter;234importorg.apache.http.HttpEntity;5importorg.apache.http.NameValuePair;6importorg.apache.http.client.entity.UrlEncodedFormEntity;7importorg.apache.http.client.met......
  • manjaro安装obs报错:could not find all required packages: vid.stab>=1.1.1
    问题与解决方法问题pacman-Sobs-studio安装的obs打不开。尝试yay装yay-Sobs-studio-tytan652使用以上指令安装OBS报错:缺少依赖vid.stab>=1.1.1(也可能是:缺少依赖:ffmpeg-obs)然后安装ffmpeg-obs也报错:缺少依赖vid.stab>=1.1.1解决方法sudopacman-Svid.stab(......
  • Uncaught TypeError: f.__fbeventsModules[a] is not a function at f.__fbeventsM
    UncaughtTypeError:f.__fbeventsModules[a]isnotafunctionatf.__fbeventsModules.f.getFbeventsModules怎么了这个错误通常是因为代码中使用了Facebook的跟踪代码,但是在加载该代码之前,代码中尝试访问跟踪模块。这个错误有几种可能的原因:Facebook跟踪代码没有正......
  • Python函数介绍:getattr()、setattr()、hasattr()
    在Python中我们通常对类的操作中,常常会判定某个属性是否是在这个类中,也会动态的为这个类更改\增添的某些属性和方法。这时我们会常常用到这个几个重要的Python内置函数,分别是getattr()、setattr()、hasattr()。1、getattr(obj,name[,default])obj表示指定的类实例对......