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工具格式化后再贴入代码块

相关推荐
⑩-11 分钟前
基于Redis Lua脚本的秒杀系统
java·redis
0和1的舞者35 分钟前
《网络编程核心概念与 UDP Socket 组件深度解析》
java·开发语言·网络·计算机网络·udp·socket
稚辉君.MCA_P8_Java36 分钟前
Gemini永久会员 Java动态规划
java·数据结构·leetcode·排序算法·动态规划
oioihoii1 小时前
C++语言演进之路:从“C with Classes”到现代编程基石
java·c语言·c++
N***73851 小时前
SQL锁机制
java·数据库·sql
Java天梯之路1 小时前
Java 初学者必看:接口 vs 抽象类,到底有什么区别?
java·开发语言
小熊officer1 小时前
Nginx中正向代理,反向代理,负载均衡
java·nginx·负载均衡
信码由缰1 小时前
Java 应用容器化与部署
java
方白羽2 小时前
Kotlin遇上Java 静态方法
android·java·kotlin
通往曙光的路上2 小时前
焚决糟糕篇
java·spring boot·tomcat