spring boot jar混淆加密

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。spring boot jar混淆加密,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

最近在做一个智能床垫的机构版项目,客户要求部署到客户那边要做代码混淆防止代码被反编译。

一:在需要加密的jar的pom.xml文件添加依赖

<!-- 设置 jitpack.io 仓库 -->
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<!-- 添加 XJar 依赖 -->
<dependencies>
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.1</version>
</dependency>

 二:执行加密命令,加密需要加密的jar

 XCryptos.encryption()
                // jar包本地目录位置
                .from("C:\\file\\0000\\code_generator-0.0.1-SNAPSHOT.jar")
                .use("io.xjar")
                //exclude 不需要混肴的模块 静态文件  模板 资源文件
                .exclude("/static/**/*")
                .exclude("/templates/**/*")
                .exclude("/META-INF/resources/**/*")
                //to 生成jar 的目标目录
                .to("C:\\file\\0000\\as\\code_generator-0.0.1-SNAPSHOT.jar");

 

spring boot jar混淆加密

 

 

 三:使用idea可以查看到没有加密的jar文件的class源码

spring boot jar混淆加密

 

 

 

四:加密后的源码则查看不到

spring boot jar混淆加密

 

 

 spring boot jar混淆加密五:启动加密的jar文件

// 对于 nohup 或 javaw 这种后台启动方式,无法使用控制台来输入密码,推荐使用指定密钥文件的方式启动
nohup java -jar /path/to/encrypted.jar –xjar.keyfile=/path/to/xjar.key

//或者通过传参数的方式启动,这种源码容易泄露,不推荐使用
nohub java -jar /path/to/encrypted.jar –xjar.password=123456

参数说明
参数名称 参数含义 默认值 说明
–xjar.password 密码
–xjar.algorithm 密钥算法 AES 支持JDK所有内置算法,如AES / DES …
–xjar.keysize 密钥长度 128 根据不同的算法选取不同的密钥长度。
–xjar.ivsize 向量长度 128 根据不同的算法选取不同的向量长度。
–xjar.keyfile 密钥文件 ./xjar.key 密钥文件相对或绝对路径。
密钥文件
密钥文件采用properties的书写格式:

password: 123456
algorithm: AES
keysize: 128
ivsize: 128

到此为止混淆完毕。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/206839.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!