springboot+maven项目使用ProGuard混淆工具的步骤

本文详细介绍了在SpringBoot项目中结合Maven使用ProGuard混淆工具的步骤,包括在pom.xml中引入插件依赖,配置混淆规则,处理不允许混淆的类,以及混淆后如何替换原有代码,确保项目正常运行。
摘要由CSDN通过智能技术生成

数据安全一直以来是我们所追求的目标,开发的项目部署上线,有时也面临着被不法份子滥用牟利,这时我们就需要一套加密混淆软件为我们的数据、代码安全保驾护航。ProGuard就是众多混淆工具中使用较为广泛的一个。

ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常在项目开发的最终用于混淆项目,增加项目被反编译的难度。

混淆工具,顾名思义只能做混淆,并不能做到真正的加密,只是增加项目被反编译的难度

springboot+maven项目使用ProGuard加密工具加密的过程如下:

  1. 在springboot项目的pom.xml文件中,引入插件相关依赖

    <build>
        <plugins>
        	<plugin>
                <groupId>com.github.wvengen</groupId>
                <artifactId>proguard-maven-plugin</artifactId>
                <version>2.0.14</version>
                <executions>
                    <execution>
                        <!--混淆时刻,这里是打包的时候混淆-->
                        <phase>package</phase>
                        <goals>
                            <!--使用插件的什么功能,当然是混淆-->
                            <goal>proguard</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--是否将生成的PG文件安装部署-->
                    <attach>true</attach>
                    <!--是否混淆-->
                    <obfuscate>true</obfuscate>
                    <!--指定生成文件分类-->
                    <attachArtifactClassifier>pg</attachArtifactClassifier>
                    <options>
                        <!--JDK目标版本1.8-->
                        <option>-target 1.8</option>
                        <!--压缩是默认开启的。压缩会删除没有使用的类以及类成员,除了由各种“-keep”选项列出的类和它们直接或间接依赖的类-->
                        <!--关闭收缩-->
                        <option>-dontshrink</option>
                        <!--优化是默认情况下启用的;。所有方法都在字节码级进行优化-->
                        <!--关闭优化(变更代码实现逻辑)-->
                        <option>-dontoptimize</option>
                        <!--不路过非公用类文件及成员-->
                        <option>-dontskipnonpubliclibraryclasses</option>
                        <option>-dontskipnonpubliclibraryclassmembers</option>
                        <!--优化时允许访问并修改有修饰符的类和类的成员-->
                        <option>-allowaccessmodification</option>
                        <!--以指定文件夹中的定义格式混淆命名,自定义一个filename.txt文件用来存放你自己想要的命名规则-->
                        <option
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值