当前位置: 首页 > wzjs >正文

齐河网站建设价格深圳网站优化网站

齐河网站建设价格,深圳网站优化网站,wordpress 安装新主题,多少钱可以做网站今天看到了一个说明jar包加密的实现方式,特意试了下效果,并下载了插件源码及实现源码查看了下子,感兴趣的可以在最后得到gitee地址。 SpringBoot 程序 Jar 包加密的方式,通过代码加密可以实现无法反编译。应用场景就是当需要把公司…

        今天看到了一个说明jar包加密的实现方式,特意试了下效果,并下载了插件源码及实现源码查看了下子,感兴趣的可以在最后得到gitee地址。

        SpringBoot 程序 Jar 包加密的方式,通过代码加密可以实现无法反编译。应用场景就是当需要把公司的产品部署到友方公司或者其他公司时,可以防止客户直接反编译出来源码,大大提升代码的安全性。

第一种是代码混淆的方式,可以参考proguard-maven-plugin插件使用,配置比较复杂。

第二种方式是使用代码加密的方式,classfinal-maven-plugin方式比较简单,只需要在pom.xml文件中引入一个plugin,然后简单的修改几项配置即可使用。这种方式不仅可以对代码进行加密,对配置文件application.yml、lib 下的依赖也可以加密以及指定机器运行程序。

开始验证

首先创建一个测试jar包,在此基础上开始

  1. pom.xml 中加入
<plugin><!--1. 加密后,方法体被清空,保留方法参数、注解等信息.主要兼容swagger文档注解扫描2. 方法体被清空后,反编译只能看到方法名和注解,看不到方法体的具体内容3. 加密后的项目需要设置javaagent来启动,启动过程中解密class,完全内存解密,不留下任何解密后的文件4. 启动加密后的jar,生成xxx-encrypted.jar,这个就是加密后的jar文件,加密后不可直接执行5. 无密码启动方式,java -javaagent:xxx-encrypted.jar -jar xxx-encrypted.jar6. 有密码启动方式,java -javaagent:xxx-encrypted.jar='-pwd= 密码' -jar xxx-encrypted.jar--><groupId>net.roseboy</groupId><artifactId>classfinal-maven-plugin</artifactId><version>1.2.1</version><configuration><!-- #表示启动时不需要密码,事实上对于代码混淆来说,这个密码没什么用,它只是一个启动密码 --><password>peach123</password><excludes>org.spring</excludes><!-- 加密的包名,多个包用逗号分开 --><packages>${groupId}</packages><!-- 加密的配置文件,多个包用逗号分开 --><cfgfiles>application.yml,application-dev.yml,application.properties</cfgfiles><!-- jar包lib下面要加密的jar依赖文件,多个包用逗号分开 --><libjars>hutool-all.jar</libjars><code>E5967EA3B33C21242D5FA564E125E276D41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E</code> <!-- 指定机器启动,机器码 --></configuration><executions><execution><phase>package</phase><goals><goal>classFinal</goal></goals></execution></executions>
</plugin>

注意:需在

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>

后添加

2. 上述代码中的机器码可以使用如下工具生成,进去之后点击下载

https://repo1.maven.org/maven2/net/roseboy/classfinal-fatjar/1.2.1/classfinal-fatjar-1.2.1.jar

3. 然后执行,注意最后参数为大写的C。

        java -jar classfinal-fatjar-1.2.1.jar –C

4. 最后将输出的机器码放入到上方的 code 中即可。

不在指定的机器码生成机器启动项目:

5. 执行 Maven 命令打包即可,生成文件如下,其中emm-business-demo-0.0.1-SNAPSHOT-encrypted.jar为生成的加密jar 包。

如需提供给客户,提供该包即可。

使用反编译工具,查看 jar 包中配置文件,可以看到配置文件已经为空

未加密:

加密包:

加密代码:

未加密:

可以看到方法体被清空,只保留了方法参数、注解等信息

6. 无密码启动

java -javaagent:加密jar包的名称 -jar 加密jar包的名称

java -javaagent:emm-business-demo-0.0.1-SNAPSHOT-encrypted.jar -jar emm-business-demo-0.0.1-SNAPSHOT-encrypted.jar

7. 有密码启动:

输入密码错误:

输入密码正确:

具体的功能及实现方式,可以查看 https://gitee.com/roseboy/classfinal/tree/master

http://www.dtcms.com/wzjs/127427.html

相关文章:

  • web校园网站开发实验报告怎样推广一个产品
  • 优化网站制作java成品网站
  • 百度怎样做网站排名往前企业网络营销目标
  • 建手机版网站太原seo网站优化
  • 如何做交易网站培训机构加盟
  • 网站开发常用技术福州今日头条新闻
  • 苏州 网站制作公司海淀区seo搜索优化
  • 建网站需多少钱百度推广管家
  • 阿里巴巴网站中详情页怎么做深圳网络推广引流
  • 深圳今天最新疫情报告哈尔滨怎样关键词优化
  • 福州自适应网站建设天津seo培训机构
  • 企业网站托管电话seo咨询师招聘
  • 莆田外贸建站百度一直不收录网站
  • 网站建设中心枸橼酸西地那非片的作用及功效
  • 门户网站开发技术 知乎seo自学网
  • cdr可不可做网站属性词 关键词 核心词
  • 设计在线接单抖音seo关键词优化怎么做
  • 黄山高端网站建设查网址
  • 可以做超大海报的网站网站app开发公司
  • wordpress转enlogseopc流量排名官网
  • 一个好的网站怎么建设郑州网站优化渠道
  • 手机网站建好怎么发布seo怎么去优化
  • 石家庄做网站 vtkj如何做百度竞价推广
  • 永久域名最新网站seo关键词优化软件合作
  • 做网站宜宾sem是什么的英文缩写
  • 哪个网站可以做申论真题百度左侧排名
  • 大型网站建设方案常见问题网站推广优化方案
  • 外汇直播室都是网站做的百度推广登录入口官网网
  • 手机怎么做三个视频网站有哪些搜索引擎网站
  • 南阳在线网站制作培训计划方案模板