SpringBoot开发——Jar 包加密防止反编译
文章目录
- 版本
- 一、proguard-maven-plugin
- 二、classfinal-maven-plugin
- 三、实战
今天给大家分享一个
SpringBoot
程序
Jar 包加密
的方式,通过代码加密可以实现无法反编译。
应用场景就是当需要把公司的产品部署到友方公司或者其他公司时,可以防止客户直接反编译出来源码,大大提升代码的安全性。
版本
- springboot 2.6.8
- jdk8
一、proguard-maven-plugin
第一种方式就是使用代码混淆的方式,可以参考proguard-maven-plugin
插件使用,因为配置复杂,用起来太麻烦,本文不做重点介绍。
https://github.com/wvengen/proguard-maven-plugin
二、classfinal-maven-plugin
第二种方式就是使用代码加密的方式,classfinal-maven-plugin
方式比较简单,只需要在pom.xml
文件中引入一个plugin
,然后简单的修改几项配置即可使用。
这种方式不仅可以对代码进行加密,对配置文件application.yml
、lib
下的依赖也可以加密。
还可以指定机器运行程序。
https://gitee.com/roseboy/classfinal
三、实战
下面我们实战一下,首先创建一个 SpringBoot
程序,在 pom.xml
中加入。
需要注意的是,该插件需要放到spring-boot-maven-plugin后面
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin