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.在需要导出 ...
最新文章
- 指纹传感器沾水便失效的原因解析
- NSNotification消息通知实现源码(观察者模式原理)
- pytorch随笔-6
- sqlplus 修改system密码_华为交换机console密码忘了如何解决 华为交换机console密码忘了解决方法【介绍】...
- How to enable multiple text type for Product
- ASP.NET(c#)常用类函数
- 需求分析——使用类图建模
- latex 学习资料
- Acrobat Pro DC 2022 Mac(全能PDF工具)完美兼容m1
- Latex beamer制作ppt
- 成都链安科技CEO 创始人杨霞:解决智能合约的安全问题,形式化验证是个“利器”!
- 摄影测量空间后方交会python实现
- 华三交换机基本配置命令
- 服务器文件怎么清理,文件传输服务器怎么清理内存
- 服务器显示404什么意思,404是什么意思?
- CDH环境HDFS权限问题
- 京东云鼎服务器系统时间问题-时间戳参与与服务器时间差异大于设定值
- 机器指令程序编写方法
- 医疗卫生信息化领域的一些术语和标准
- Hadoop的数据压缩