首页 > 其他分享 >springboot项目jar包混淆加密

springboot项目jar包混淆加密

时间:2023-03-06 17:59:27浏览次数:73  
标签:加密 springboot encrypted jar pwd yourproject com

混淆工具

jar包混淆工具挺多的,实现原理不尽相同,这里使用的classfinal

加密

执行以下命令

java -jar classfinal-fatjar.jar -file yourproject.jar -libjars a.jar,b.jar -packages com.yourpackage,com.yourpackage2 -exclude com.yourpackage.Main -pwd 123456 -Y
参数说明
-file        加密的jar/war完整路径
-packages    加密的包名(可为空,多个用","分割)
-libjars     jar/war包lib下要加密jar文件名(可为空,多个用","分割)
-cfgfiles    需要加密的配置文件,一般是classes目录下的yml或properties文件(可为空,多个用","分割)
-exclude     排除的类名(可为空,多个用","分割)
-classpath   外部依赖的jar目录,例如/tomcat/lib(可为空,多个用","分割)
-pwd         加密密码,如果是#号,则使用无密码模式加密
-code        机器码,在绑定的机器生成,加密后只可在此机器上运行
-Y           无需确认,不加此参数会提示确认以上信息

结果: 生成 yourproject-encrypted.jar,这个就是加密后的jar文件;加密后的文件不可直接执行,需要配置javaagent。

java -jar classfinal-fatjar.jar -file zhy-admin.jar   -packages com.zhy  -pwd zhy123456 -Y

启动加密后的jar

加密后的项目需要设置javaagent来启动,项目在启动过程中解密class,完全内存解密,不留下任何解密后的文件。

解密功能已经自动加入到 yourproject-encrypted.jar中,所以启动时-javaagent与-jar相同,不需要额外的jar包。

启动jar项目执行以下命令

java -javaagent:yourproject-encrypted.jar='-pwd 0000000' -jar yourproject-encrypted.jar
 
//参数说明
// -pwd      加密项目的密码  
// -pwdname  环境变量中密码的名字

参考连接:https://blog.csdn.net/m0_61367109/article/details/123791722?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167809275116800188537384%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167809275116800188537384&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-19-123791722-null-null.142v73control_1,201v4add_ask,239v2insert_chatgpt&utm_term=java%20jar%E5%8C%85%20%E6%B7%B7%E6%B7%86&spm=1018.2226.3001.4187

标签:加密,springboot,encrypted,jar,pwd,yourproject,com
From: https://www.cnblogs.com/weidaijie/p/17184786.html

相关文章

  • Springboot上传并解析Zip包
    packagecom.c2f.hbos.mcc.common.utils;importcom.c2f.hbos.mcc.core.catalog.enums.SHMedicationCatalogDataSourceEnum;importorg.apache.commons.compress.utils.......
  • SpringBoot+Vue中使用AES进行加解密(加密模式等对照关系)
    场景若依前后端分离版本地搭建开发环境并运行项目的教程:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662在上面搭建起来前后端架构之后,在前后端......
  • (转帖)SpringBoot自动装配的原理
    自动装配:就是把自动去把第三方组件的Bean装载到IOC容器里,而不需要开发人员在去写相关的Bean的一个配置。在SpringBoot项目中只需要加@SpringBootApplication的一个注解就......
  • springboot集成nacos配置中心
    springboot版本2.6.7+nacos版本2.1.21、添加nacos依赖com.alibaba.bootnacos-config-spring-boot-starter0.2.122、配置application.propertiesnacos.config.boots......
  • 如何使用HTTPS加密保护网站?
    加密Web 内容并不是什么新鲜事:自发布通过SSL/TLS协议来加密Web 内容的规范以来,已经过去了近20 年。然而,近年来,运行安全的HTTPS加密Web 服务器已经从一种选择变成了......
  • JS-表单提交及前端MD5加密问题
    【目标】前端提交密码,通过MD5加密后,浏览器抓包看到的表单信息中,密码是加密后的。【问题】密码加密后输出是加密后的,但是抓包看到的表单数据是明文密码。【问题代码】1......
  • springboot 集成feign 实现远程调用
    1. springboot项目引入pom相关依赖<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-core</artifactId>......
  • NOI / 1.7编程基础之字符串 12:加密的病历单
    描述小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又......
  • springboot中redis的基本数据类型测试
    在springboot中依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artif......
  • SpringBoot开发实用-默认数据源
    数据源技术​ 目前我们使用的数据源技术是Druid,运行时可以在日志中看到对应的数据源初始化信息,具体如下:INFO28600---[main]c.a.d.s.b.a.DruidDataSource......