JFinal加密你值得学习

信息安全是当今互联网不可忽视的一个重大问题。加密是最直接的手段,相当于让你的数据多了一把锁,安全性直线上升。

jar包作为java程序运行的核心元素,加密变得不容忽视。本文将介绍基于JFinal 插件对我们的jar包进行加密

准备工作

  1. 引入plugin
xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.kang.sz</groupId>
 <artifactId>Tools</artifactId>
 <version>1.0-SNAPSHOT</version>


 <properties>
         <spring.boot.version>2.6.0</spring.boot.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>
<!--    <build>-->
<!--        <pluginManagement>-->
<!--            <plugins>-->
<!--            <plugin>-->
<!--                <groupId>org.springframework.boot</groupId>-->
<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
<!--                <configuration>-->
<!--                    <mainClass>com.kang.sz.app.ToolsStart</mainClass>-->
<!--                    <layout>JAR</layout>-->
<!--                </configuration>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <goals>-->
<!--                            <goal>repackage</goal>-->
<!--                        </goals>-->
<!--                    </execution>-->
<!--                </executions>-->
<!--            </plugin>-->
<!--            </plugins>-->
<!--        </pluginManagement>-->
<!--    </build>-->

 <build>
     <plugins>
         <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-jar-plugin</artifactId>
             <version>3.2.0</version>
             <configuration>
                 <archive>
                     <manifest>
                         <addClasspath>true</addClasspath>
                         <mainClass>com.kang.sz.app.ToolsStart</mainClass>
                     </manifest>
                 </archive>
             </configuration>
         </plugin>

         /**
         * 使用classFinal插件去加密。  关键插件
         */
         <plugin>
             <!-- https://gitee.com/roseboy/classfinal -->
             <groupId>net.roseboy</groupId>
             <artifactId>classfinal-maven-plugin</artifactId>
             <version>1.2.1</version>
             <configuration>
                 <password>123456</password>   //设置密码
                 <!--加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码-->
                 <packages>com.kang.sz.app</packages>
                 <!--<excludes>org.spring</excludes>-->
                 <!--<libjars>a.jar,b.jar</libjars>-->
             </configuration>
             <executions>
                 <execution>
                     <phase>package</phase>
                     <goals>
                         <goal>classFinal</goal>
                     </goals>
                 </execution>
             </executions>
         </plugin>

     </plugins>
 </build>


</project>

效果验证

如果需要执行jar,需要输入密码,具体格式如下

ps: XML工具格式化后再贴入代码块

相关推荐
那个松鼠很眼熟w14 分钟前
1.多线程基础概念
java
聪明的笨猪猪20 分钟前
Java 集合 “Map(1)”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
懒惰蜗牛1 小时前
Day27 | Java集合框架之List接口详解
java·后端·java-ee·list
nsjqj1 小时前
数据结构:Map 和 Set (二)
java·开发语言·数据结构
迎風吹頭髮1 小时前
UNIX下C语言编程与实践18-UNIX 文件存储原理:目录、i 节点、数据块协同存储文件的过程
java·c语言·unix
nlog3n2 小时前
分布式排行榜系统设计方案
java·分布式
EnCi Zheng2 小时前
Java_钻石操作符详解
java·开发语言
Ytadpole2 小时前
性能革命的底层逻辑:深入理解 Spring Cloud Gateway 的 Reactor 核心
java·spring·gateway·reactor·响应式编程·cloud
Vahala0623-孔勇2 小时前
微服务网关深度设计:从Spring Cloud Gateway到Envoy,流量治理与安全认证实战指南
java·安全·微服务·云原生