springboot xjar进行加密
由于业务需求所以需要把项目部署到客户那边,但是公司给我们的要求就是数据库要加密,代码要进行加密防止代码进行反编译,其实还是能够破解的但是时间很长,废话不多说了开始吧
1、在pom文件中假如属性和插件,不要直接复制粘贴注意看摆放位置
<dependencies> <dependency> <groupId>com.github.core-lib</groupId> <artifactId>xjar</artifactId> <version>4.0.0</version> </dependency></dependencies> <!-- 设置 jitpack.io 仓库,Xjar需要使用 --><repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository></repositories>
2、写main方法,其中的PeisBooking-0.0.1-SNAPSHOT.jar是通过maven install 打包好之后的jar在文件夹下面同时还会生成xjar.go文件,下面的test.jar指的是需要生成的jar名称和路径
public static void main(String[] args) throws Exception {produs();} public static void produs() throws Exception { XCryptos.encryption() // 项目生成的jar .from("E:\\aa\\PeisBooking-0.0.1-SNAPSHOT.jar") // 加密的密码 .use("mtkj123!") // 要加密的资源 .include("/**.class") .include("/**/*.xml") // 加密后的jar,此时:通过jd-gui反编译失败 .to("E:\\aa\\test.jar");}
3、最不好弄得我觉得是这一步,需要安装GO环境安装教程
https://www.runoob.com/go/go-environment.html
4、第3步操作完之后需要在jar包所在的目录打开命令界面,输入go build xjar.go
windows系统会得到xjar.exe文件
linux系统会得到xjar文件
5、windows系统启动应用程序命输入命令
xjar.exe java -jar 生成的jar名称 项目就运行起来了
linux系统启动应用程序输入命令
./xjar java -jar 生成的jar名称
采坑:
1、go环境安装时出错了,这个需要自己尝试
2、运行时由于参考的是其他博主的文档所以很多都看不懂,写的根本就算不上通俗易懂,其他博主写的是xjar java -jar XXXX ,但是根本就行不通,也可能是我看不懂文字叙述的原因,一定要记住windows下要使用xjar.exe开头后面运行的程序是通过main函数生成的jar
结果
用最常用的jd-gui反编译得到的结果是编译错误,但是程序是能够正常运行的
赞 (0)