加密判断去除

dev
liuguijing 2 years ago
parent a066fcd3f6
commit 860025b61a

@ -212,6 +212,141 @@
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
</plugin>
<!-- <plugin>-->
<!-- <groupId>com.github.wvengen</groupId>-->
<!-- <artifactId>proguard-maven-plugin</artifactId>-->
<!-- <version>2.6.0</version>-->
<!-- <executions>-->
<!-- &lt;!&ndash; 以下配置说明执行mvn的package命令时候会执行proguard&ndash;&gt;-->
<!-- <execution>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>proguard</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- <proguardVersion>7.1.0</proguardVersion>-->
<!-- &lt;!&ndash; 原始jar &ndash;&gt;-->
<!-- <injar>${project.build.finalName}.jar</injar>-->
<!-- &lt;!&ndash; 混淆后的jar &ndash;&gt;-->
<!-- <outjar>${project.build.finalName}.jar</outjar>-->
<!-- &lt;!&ndash; 是否混淆 默认是true &ndash;&gt;-->
<!-- <obfuscate>true</obfuscate>-->
<!-- &lt;!&ndash; 是否将生成的PG文件安装部署 &ndash;&gt;-->
<!-- &lt;!&ndash; <attach>true</attach> &ndash;&gt;-->
<!-- &lt;!&ndash;指定生成文件分类&ndash;&gt;-->
<!-- &lt;!&ndash;<attachArtifactClassifier>pg</attachArtifactClassifier>&ndash;&gt;-->
<!-- &lt;!&ndash; 将pom.xml打包至jar文件中 &ndash;&gt;-->
<!-- <addMavenDescriptor>true</addMavenDescriptor>-->
<!-- &lt;!&ndash; 混淆配置文件proguard.cfg-->
<!-- <proguardInclude>${project.basedir}/proguard.cfg</proguardInclude>&ndash;&gt;-->
<!-- &lt;!&ndash; 项目编译所需要的jar &ndash;&gt;-->
<!-- <libs>-->
<!-- <lib>${java.home}/lib/rt.jar</lib>-->
<!-- </libs>-->
<!-- &lt;!&ndash; 对输入jar进行过滤比如如下配置就是对META-INFO文件不处理。-->
<!-- <inLibsFilter>!META-INF/**,!META-INF/versions/9/**.class</inLibsFilter>&ndash;&gt;-->
<!-- &lt;!&ndash; 输出路径配置但是要注意这个路径必须要包括injar标签填写的jar &ndash;&gt;-->
<!-- <outputDirectory>${project.basedir}/target</outputDirectory>-->
<!-- &lt;!&ndash;配置混淆的一些细节选项可在proguard.cfg中配置&ndash;&gt;-->
<!-- <options>-->
<!-- &lt;!&ndash; JDK目标版本1.8&ndash;&gt;-->
<!-- <option>-target 1.8</option>-->
<!-- &lt;!&ndash; 不做收缩(删除注释、未被引用代码)&ndash;&gt;-->
<!-- <option>-dontshrink</option>-->
<!-- &lt;!&ndash; 不做优化(变更代码实现逻辑)&ndash;&gt;-->
<!-- <option>-dontoptimize</option>-->
<!-- &lt;!&ndash; 不混忽略非公用类文件及成员&ndash;&gt;-->
<!-- <option>-dontskipnonpubliclibraryclasses</option>-->
<!-- <option>-dontskipnonpubliclibraryclassmembers</option>-->
<!-- &lt;!&ndash;不用大小写混合类名机制&ndash;&gt;-->
<!-- <option>-dontusemixedcaseclassnames</option>-->
<!-- &lt;!&ndash; 优化时允许访问并修改有修饰符的类和类的成员 &ndash;&gt;-->
<!-- <option>-allowaccessmodification</option>-->
<!-- &lt;!&ndash; 确定统一的混淆类的成员名称来增加混淆&ndash;&gt;-->
<!-- <option>-useuniqueclassmembernames</option>-->
<!-- &lt;!&ndash; 保持目录结构&ndash;&gt;-->
<!-- <option>-keepdirectories</option>-->
<!-- &lt;!&ndash; 不混淆所有包名&ndash;&gt;-->
<!-- &lt;!&ndash;<option>-keeppackagenames</option>&ndash;&gt;-->
<!-- &lt;!&ndash; 混淆类名之后对使用Class.forName('className')之类的地方进行相应替代&ndash;&gt;-->
<!-- <option>-adaptclassstrings</option>-->
<!-- &lt;!&ndash; 需要保持的属性:异常,注解等&ndash;&gt;-->
<!-- <option>-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod</option>-->
<!-- &lt;!&ndash; 此选项将保存所有软件包中的所有原始接口文件(不进行混淆) &ndash;&gt;-->
<!-- <option>-keepnames interface ** { *; }</option>-->
<!-- &lt;!&ndash; 此选项将保存所有软件包中的所有原始接口文件(不进行混淆) &ndash;&gt;-->
<!-- <option>-keep interface * extends * { *; }</option>-->
<!-- &lt;!&ndash; 保留参数名因为控制器或者Mybatis等接口的参数如果混淆会导致无法接受参数xml文件找不到参数 &ndash;&gt;-->
<!-- <option>-keepparameternames</option>-->
<!-- &lt;!&ndash; 保留枚举成员及方法 &ndash;&gt;-->
<!-- <option>-keepclassmembers enum * { *; }</option>-->
<!-- &lt;!&ndash; 不混淆所有类,保存原始定义的注释 &ndash;&gt;-->
<!-- <option>-->
<!-- -keepclassmembers class * {-->
<!-- @org.springframework.context.annotation.Bean *;-->
<!-- @org.springframework.beans.factory.annotation.Autowired *;-->
<!-- @org.springframework.beans.factory.annotation.Value *;-->
<!-- @org.springframework.stereotype.Service *;-->
<!-- @org.springframework.stereotype.Component *;-->
<!-- @org.springframework.web.bind.annotation.RestController *;-->
<!-- }-->
<!-- </option>-->
<!-- &lt;!&ndash; 忽略warn消息 &ndash;&gt;-->
<!-- <option>-ignorewarnings</option> &ndash;&gt;-->
<!-- &lt;!&ndash; 忽略note消息 &ndash;&gt;-->
<!-- <option>-dontnote</option> &ndash;&gt;-->
<!-- &lt;!&ndash; 打印配置信息 &ndash;&gt;-->
<!-- <option>-printconfiguration</option>-->
<!-- &lt;!&ndash; 不混淆controller入口类-->
<!-- <option>-keep class com.platform.scamp.entity.** {*;}</option>-->
<!-- <option>-keep class com.platform.scamp.service.ScampVehicleTrackService {*;}</option>-->
<!-- <option>-keep class com.platform.scamp.controller.** {*;}</option>&ndash;&gt;-->
<!-- </options>-->
<!-- <injarNotExistsSkip>true</injarNotExistsSkip>-->
<!-- &lt;!&ndash; 把jar包放到临时目录以便缩短命令行 &ndash;&gt;-->
<!-- <putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>-->
<!-- </configuration>-->
<!-- <dependencies>-->
<!-- <dependency>-->
<!-- <groupId>com.guardsquare</groupId>-->
<!-- <artifactId>proguard-base</artifactId>-->
<!-- <version>7.1.0</version>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.guardsquare</groupId>-->
<!-- <artifactId>proguard-core</artifactId>-->
<!-- <version>7.1.0</version>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<!-- </dependencies>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- &lt;!&ndash; https://gitee.com/roseboy/classfinal &ndash;&gt;-->
<!-- <groupId>net.roseboy</groupId>-->
<!-- <artifactId>classfinal-maven-plugin</artifactId>-->
<!-- <version>${classfinal.version}</version>-->
<!-- <configuration>-->
<!-- <password>000000</password>&lt;!&ndash;加密打包之后pom.xml会被删除不用担心在jar包里找到此密码&ndash;&gt;-->
<!-- <packages>com.yourpackage,com.yourpackage2</packages>-->
<!-- <cfgfiles>application.yml</cfgfiles>-->
<!-- <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>

@ -0,0 +1,57 @@
## -keep {Modifier} {class_specification} 防止类和成员被移除或者被重命名
## -keepclassmembers {modifier} {class_specification} 防止成员被移除或者被重命名
## -keepclasseswithmembers {class_specification} 防止拥有该成员的类和成员被移除或者被重命名
## -keepnames {class_specification} 防止成员被重命名
## -keepclasseswithmembernames {class_specification} 防止拥有该成员的类和成员被重命名
## -keepclasseswithmembers
## -basedirectory directoryname 在配置文件中出现的相对路径均是相对于该路径
#
#
## 忽略所有警告,否则有警告的时候混淆会停止
#-ignorewarnings
#
## JDK目标版本1.8
#-target 1.8
#
## 不做收缩(删除注释、未被引用代码)
#-dontshrink
#
## 不做优化(变更代码实现逻辑)
#-dontoptimize
#
## 不路过非公用类文件及成员
#-dontskipnonpubliclibraryclasses
#-dontskipnonpubliclibraryclassmembers
#
## 优化时允许访问并修改有修饰符的类和类的成员
#-allowaccessmodification
#
## 确定统一的混淆类的成员名称来增加混淆
#-useuniqueclassmembernames
#
## 不混淆所有包名本人测试混淆后WEB项目问题实在太多毕竟Spring配置中有大量固定写法的包名
#-keeppackagenames
#
## 不混淆局部变量名
#-keepparameternames
#
## 不混淆所有特殊的类 LocalVariable*Table,
#-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,Synthetic,EnclosingMethod
#
## 不混淆包下的所有类名
#-keep class weg.base.** { <methods>; }
#-keep class weg.service.** { <methods>; }
#-keep class weg.dao.** { <methods>; }
#-keep class weg.util.** { <methods>; }
#
## 不混淆quartz包下的所有类名且类中的方法也不混淆
#-keep class weg.quartz.** { <methods>; }
#
## 不混淆model包中的所有类以及类的属性及方法实体包混淆了会导致ORM框架及前端无法识别
#-keep class weg.model.** {*;}
#
## 不混淆所有的set/get方法毕竟项目中使用的部分第三方框架例如Shiro会用到大量的set/get映射
#-keepclassmembers public class * {void set*(***);*** get*();}
#
## 保持类protected不被混淆
#-keep public class * { public protected <fields>;public protected <methods>; }

@ -14,6 +14,7 @@
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
@ -30,13 +31,118 @@
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-compiler-plugin</artifactId>-->
<!-- <groupId>com.github.wvengen</groupId>-->
<!-- <artifactId>proguard-maven-plugin</artifactId>-->
<!-- <version>2.6.0</version>-->
<!-- <executions>-->
<!-- &lt;!&ndash; 以下配置说明执行mvn的package命令时候会执行proguard&ndash;&gt;-->
<!-- <execution>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>proguard</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- <source>1.8</source>-->
<!-- <target>1.8</target>-->
<!-- <proguardVersion>7.1.0</proguardVersion>-->
<!-- &lt;!&ndash; 原始jar &ndash;&gt;-->
<!-- <injar>${project.build.finalName}.jar</injar>-->
<!-- &lt;!&ndash; 混淆后的jar &ndash;&gt;-->
<!-- <outjar>${project.build.finalName}.jar</outjar>-->
<!-- &lt;!&ndash; 是否混淆 默认是true &ndash;&gt;-->
<!-- <obfuscate>true</obfuscate>-->
<!-- &lt;!&ndash; 是否将生成的PG文件安装部署 &ndash;&gt;-->
<!-- &lt;!&ndash; <attach>true</attach> &ndash;&gt;-->
<!-- &lt;!&ndash;指定生成文件分类&ndash;&gt;-->
<!-- &lt;!&ndash;<attachArtifactClassifier>pg</attachArtifactClassifier>&ndash;&gt;-->
<!-- &lt;!&ndash; 将pom.xml打包至jar文件中 &ndash;&gt;-->
<!-- <addMavenDescriptor>true</addMavenDescriptor>-->
<!-- &lt;!&ndash; 混淆配置文件proguard.cfg-->
<!-- <proguardInclude>${project.basedir}/proguard.cfg</proguardInclude>&ndash;&gt;-->
<!-- &lt;!&ndash; 项目编译所需要的jar &ndash;&gt;-->
<!-- <libs>-->
<!-- <lib>${java.home}/lib/rt.jar</lib>-->
<!-- </libs>-->
<!-- &lt;!&ndash; 对输入jar进行过滤比如如下配置就是对META-INFO文件不处理。-->
<!-- <inLibsFilter>!META-INF/**,!META-INF/versions/9/**.class</inLibsFilter>&ndash;&gt;-->
<!-- &lt;!&ndash; 输出路径配置但是要注意这个路径必须要包括injar标签填写的jar &ndash;&gt;-->
<!-- <outputDirectory>${project.basedir}/target</outputDirectory>-->
<!-- &lt;!&ndash;配置混淆的一些细节选项可在proguard.cfg中配置&ndash;&gt;-->
<!-- <options>-->
<!-- &lt;!&ndash; JDK目标版本1.8&ndash;&gt;-->
<!-- <option>-target 1.8</option>-->
<!-- &lt;!&ndash; 不做收缩(删除注释、未被引用代码)&ndash;&gt;-->
<!-- <option>-dontshrink</option>-->
<!-- &lt;!&ndash; 不做优化(变更代码实现逻辑)&ndash;&gt;-->
<!-- <option>-dontoptimize</option>-->
<!-- &lt;!&ndash; 不混忽略非公用类文件及成员&ndash;&gt;-->
<!-- <option>-dontskipnonpubliclibraryclasses</option>-->
<!-- <option>-dontskipnonpubliclibraryclassmembers</option>-->
<!-- &lt;!&ndash;不用大小写混合类名机制&ndash;&gt;-->
<!-- <option>-dontusemixedcaseclassnames</option>-->
<!-- &lt;!&ndash; 优化时允许访问并修改有修饰符的类和类的成员 &ndash;&gt;-->
<!-- <option>-allowaccessmodification</option>-->
<!-- &lt;!&ndash; 确定统一的混淆类的成员名称来增加混淆&ndash;&gt;-->
<!-- <option>-useuniqueclassmembernames</option>-->
<!-- &lt;!&ndash; 保持目录结构&ndash;&gt;-->
<!-- <option>-keepdirectories</option>-->
<!-- &lt;!&ndash; 不混淆所有包名&ndash;&gt;-->
<!-- &lt;!&ndash;<option>-keeppackagenames</option>&ndash;&gt;-->
<!-- &lt;!&ndash; 混淆类名之后对使用Class.forName('className')之类的地方进行相应替代&ndash;&gt;-->
<!-- <option>-adaptclassstrings</option>-->
<!-- &lt;!&ndash; 需要保持的属性:异常,注解等&ndash;&gt;-->
<!-- <option>-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod</option>-->
<!-- &lt;!&ndash; 此选项将保存所有软件包中的所有原始接口文件(不进行混淆) &ndash;&gt;-->
<!-- <option>-keepnames interface ** { *; }</option>-->
<!-- &lt;!&ndash; 此选项将保存所有软件包中的所有原始接口文件(不进行混淆) &ndash;&gt;-->
<!-- <option>-keep interface * extends * { *; }</option>-->
<!-- &lt;!&ndash; 保留参数名因为控制器或者Mybatis等接口的参数如果混淆会导致无法接受参数xml文件找不到参数 &ndash;&gt;-->
<!-- <option>-keepparameternames</option>-->
<!-- &lt;!&ndash; 保留枚举成员及方法 &ndash;&gt;-->
<!-- <option>-keepclassmembers enum * { *; }</option>-->
<!-- &lt;!&ndash; 不混淆所有类,保存原始定义的注释 &ndash;&gt;-->
<!-- <option>-->
<!-- -keepclassmembers class * {-->
<!-- @org.springframework.context.annotation.Bean *;-->
<!-- @org.springframework.beans.factory.annotation.Autowired *;-->
<!-- @org.springframework.beans.factory.annotation.Value *;-->
<!-- @org.springframework.stereotype.Service *;-->
<!-- @org.springframework.stereotype.Component *;-->
<!-- @org.springframework.web.bind.annotation.RestController *;-->
<!-- }-->
<!-- </option>-->
<!-- &lt;!&ndash; 忽略warn消息 &ndash;&gt;-->
<!-- <option>-ignorewarnings</option> &ndash;&gt;-->
<!-- &lt;!&ndash; 忽略note消息 &ndash;&gt;-->
<!-- <option>-dontnote</option> &ndash;&gt;-->
<!-- &lt;!&ndash; 打印配置信息 &ndash;&gt;-->
<!-- <option>-printconfiguration</option>-->
<!-- &lt;!&ndash; 不混淆controller入口类-->
<!-- <option>-keep class com.platform.scamp.entity.** {*;}</option>-->
<!-- <option>-keep class com.platform.scamp.service.ScampVehicleTrackService {*;}</option>-->
<!-- <option>-keep class com.platform.scamp.controller.** {*;}</option>&ndash;&gt;-->
<!-- </options>-->
<!-- <injarNotExistsSkip>true</injarNotExistsSkip>-->
<!-- &lt;!&ndash; 把jar包放到临时目录以便缩短命令行 &ndash;&gt;-->
<!-- <putLibraryJarsInTempDir>true</putLibraryJarsInTempDir>-->
<!-- </configuration>-->
<!-- <dependencies>-->
<!-- <dependency>-->
<!-- <groupId>com.guardsquare</groupId>-->
<!-- <artifactId>proguard-base</artifactId>-->
<!-- <version>7.1.0</version>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.guardsquare</groupId>-->
<!-- <artifactId>proguard-core</artifactId>-->
<!-- <version>7.1.0</version>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<!-- </dependencies>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>-->
</project>
Loading…
Cancel
Save