Java jar包加密
Java项目中jar包在window以及Linux环境下的加密
公司项目需要交付时对项目源码进行加密,本文针对Java spring boot项目的jar包运行方式进行加密。
加密工具:xjar,地址:https://gitee.com/core-lib/xjar
前提条件:
- jdk1.7+
- Go语言环境(编辑环境需要,运行环境可不需要)
创建一个新项目用于加密jar包
- 新建一个项目 pom引入以下依赖
<!-- 设置 jitpack.io 仓库 --><repositories><repository><id>jitpack.io</id><url>https://jitpack.io</url></repository></repositories>
<!-- 添加 XJar 依赖 -->
<dependency><groupId>com.github.core-lib</groupId><artifactId>xjar</artifactId><version>4.0.1</version>
</dependency>
书写加密类
package com.test.jar;import io.xjar.XCryptos;
/*** @ClassName: JarEncryption* @Package: com.test.jar* @Description:* @Datetime: 2020/8/31 10:30* @author: kaishun.zhou*/
public class JarEncryption {public static void main(String[] args) throws Exception {// Spring-Boot Jar包加密XCryptos.encryption().from("C:\\zhoukaishun\\study\\target\\study.jar").use("io.xjar").exclude("/static/**/*").exclude("/templates/**/*").exclude("/META-INF/resources/**/*").to("C:\\zhoukaishun\\study\\target\\study-encryption.jar");System.out.println("success");}
}
运行方法得到加密后的jar 以及一个xjar.go文件,如下图
- window环境下cmd进入文件路径下执行,go build xjar.go ,会生成一个xjar.exe 文件
运行,xjar java -jar 项目名.jar
如上图 可以正常访问,此时拿到加密后的jar包通过反编译工具或者idea是无法打开的。
- Linux环境同理,编译环境需要go环境,将加密后的jar上传到指定目录,go编译xjar.go此时生成的就不是.exe文件,而实一个xjar,运行同理,文件目录下 ./xjar java -jar 项目名.jar ,详情下图
目录结构
执行的sh
执行结果
访问
至此结束
Java jar包加密相关推荐
- Jar包加密,防止反编译
Jar包加密,防止反编译方法 XJar加密工具 XJar功能特性 使用方法(手动执行方式) 使用方法(Maven插件方式) exe4j加密工具 使用方法 jvmti加密工具 使用方法 参考 XJar加 ...
- xjar 对Spring-Boot JAR 包加密运行工具
Xjar 介绍 Spring Boot JAR 安全加密运行工具,同时支持的原生JAR. 基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动,动态解密运行的方案,避免源码 ...
- linux 测试环境启用jar_Linux下用java -jar运行可执行jar包的方法教程
问题来源 一般来说,一个稍微大些的项目都会有一些依赖的Jar包,而在将项目部署到服务器的过程中,如果没有持续集成环境的话,也就是说服务器不支持在线编译及打包,那么需要自己上传依赖的Jar包,然而可能服 ...
- java file 其他电脑上,java - Jar文件无法在另一台PC上执行
我有一个可编程的jar文件,我从我的程序编译,我在我的电脑上运行它 . 当我在命令提示符下使用 java -jar [nameofjar.jar] 运行它时它完全正常工作 但是,我尝试在另一台电脑上测 ...
- 介绍java -cp java -jar的区别
java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号";" java -cp &am ...
- java -cp 和 java -jar 的区别
目录 java -cp java -jar maven 打包 java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库.jar 包之类,需要全路径 ...
- java -jar 和 -cp详解
java -jar 和 -cp详解 命令行执行程序 假如我们有一个程序,把它打包成Test.jar,如何运行才能成功输出Hello World package com.test; public cla ...
- Java -jar启动服务与Tomcat服务器上部署JAR之间的区别
运行java web有两种方式:当使用springboot打包出jar包时,这个jar包可以直接 运行java -jar *.jar运行,另一种是把 *.jar移动到tomcat/webapps 中, ...
- bat 执行 java jar包
引用:http://zhidao.baidu.com/question/266935924.html 用eclipse编译好的一个Java项目导出成为一个可以直接双击运行的jar文件. 1.在需要导出 ...
最新文章
- python编程单词排序_python 统计单词个数,并按个数与字母排序
- wdns服务器未响应,Win7系统​网络诊断提示DNS服务器未响应的解决方法
- android 弹出对话框时显示键盘
- JavaWeb项目前端规范(采用命名空间使js深度解耦合)
- Android 性能优化提示
- @ta,一起过节吧!
- 在计算机科学中算法指的是,算法 - 为什么斐波纳契数在计算机科学中具有重要意义?...
- ks.cfg配置详解
- latex中嵌入视频文件
- python snap7 plc_python-snap7-master
- SQLyog客户端使用教程
- 搭建p2p文件服务器,p2p服务器搭建
- 第五套人民币是大众收藏的机会
- idea--Preferences
- Gitlab如何创建项目和添加成员
- JavaScript【树】
- 滤波电容为什么要靠近放置,储能电容为什么均匀放置?去耦半径是什么?滤波电容如何打孔?
- php isset()和empty()的使用区别
- dfs与bsf问题合集
- python的mag模块_Python Decimal max_mag()用法及代码示例