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

相关推荐
float_六七1 小时前
IntelliJ IDEA双击Ctrl的妙用
java·ide·intellij-idea
能摆一天是一天3 小时前
JAVA stream().flatMap()
java·windows
颜如玉3 小时前
🤲🏻🤲🏻🤲🏻临时重定向一定要能重定向🤲🏻🤲🏻🤲🏻
java·http·源码
程序员的世界你不懂5 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
星空寻流年5 小时前
设计模式第一章(建造者模式)
java·设计模式·建造者模式
gb42152875 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
曾经的三心草6 小时前
Python2-工具安装使用-anaconda-jupyter-PyCharm-Matplotlib
android·java·服务器
Metaphor6926 小时前
Java 高效处理 Word 文档:查找并替换文本的全面指南
java·经验分享·word
ChinaRainbowSea6 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
stormsha6 小时前
飞算JavaAI炫技赛电商系统商品管理模块的架构设计与实现
java·架构·鸿蒙系统