线上项目源码安全性处理方案

这篇具有很好参考价值的文章主要介绍了线上项目源码安全性处理方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景:

最近项目提出要对线上代码进行安全性处理,防止客户直接通过反编译工具将代码反编译出来

方案:

第一种方案使用的是代码混淆

第二种方案使用的是代码加密

方案比较

方案一:采用的proguard-maven-plugin插件

方案二:采用的classfinal-maven-plugin插件

在单模块中方案一还算简单,但是现在项目一般都是多模块,一个模块依赖多个模块,使用方案一非常麻烦,配置复杂,文档难懂,各模块之间的调用在是否要混淆时极容易出错。

在方案二中就简单很多,直接配置一个插件classfinal-maven-plugin就可以实现源码的安全性保护

综合比较果断使用方案二

官方文档:

ClassFinal: Java字节码加密工具

项目实例

 只需要在启动类的pom.xml文件中加如下插件即可,需要注意的是改插件需要放到spring-boot-maven-plugin插件的后面,否则不起作用。

 <plugin>
			    <!-- https://gitee.com/roseboy/classfinal -->
			    <groupId>net.roseboy</groupId>
			    <artifactId>classfinal-maven-plugin</artifactId>
			    <version>1.2.1</version>
			    <configuration>
			        <password>#</password><!--加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码-->
			        <packages>com.gisquest.cloud</packages>
			        <cfgfiles>application.properties</cfgfiles>
			        <excludes>org.spring</excludes>
			        <libjars>
				        platform-commons-1.0.0-SNAPSHOT.jar,
				        platform-commons-web-1.0.0-SNAPSHOT.jar,
				        platform-commons-web-db-1.0.0-SNAPSHOT.jar,
				        platform-multiappcenter-base-restful-1.0.0-SNAPSHOT.jar,
				        platform-multiappcenter-log-1.0.0-SNAPSHOT.jar,
				        platform-multiappcenter-var-restful-1.0.0-SNAPSHOT.jar,
				        platform-plugin-cache-1.0.0-SNAPSHOT.jar,
				        platform-plugin-authorization-1.0.0-SNAPSHOT.jar,
				        platform-plugin-configcenter-1.0.0-SNAPSHOT.jar,
				        platform-plugin-sleuth2x-zipkin-1.0.0-SNAPSHOT.jar,
				        platform-outerclient-1.0.0-SNAPSHOT.jar
			        </libjars>
			    </configuration>
			    <executions>
			        <execution>
			            <phase>package</phase>
			            <goals>
			                <goal>classFinal</goal>
			            </goals>
			        </execution>
			    </executions>
			</plugin>

配置参数见官方文档,就几句中文 

在改模块中使用maven-install时会再target目录下生成一个

classfinal-maven-plugin,java,github

 因此在实际部署的时候将platform-multiappcenter-base-app-1.0.0-SNAPSHOT-encrypted.jar包放到线上运行即可

 该加密的包解压后如下效果,业务逻辑不显示

classfinal-maven-plugin,java,github

该模块lib下依赖的 platform-commons-1.0.0-SNAPSHOT.jar解压后效果如下,同样是业务逻辑不显示,从而保证了代码的安全性

classfinal-maven-plugin,java,github文章来源地址https://www.toymoban.com/news/detail-756776.html

到了这里,关于线上项目源码安全性处理方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 加密数据安全性的两大安全护盾-前向安全性与后向安全性详解

    在数字安全的世界里,加密技术是用来保护数据不被未经授权访问的重要机制。然而,即使使用了最强的加密算法,也不能保证永远是安全的。攻击者可能会在未来某个时间点获得了解密密钥,从而能够解密拦截的密文。为了解决这个问题,密码学引入了前向安全性(Forwar

    2024年02月04日
    浏览(66)
  • Java在物联网领域的应用非常广泛,涵盖了设备连接、数据处理、应用程序开发、安全性、嵌入式系统开发、消息队列和流处理、机器学习和人工智能以及跨平台和多语言集成等方面

    Java作为一种通用编程语言,在物联网(IoT)领域的应用也非常广泛。以下是一些Java在物联网中的典型应用: 开发物联网应用程序 :Java是一种高级编程语言,具有丰富的库和工具,使得开发物联网应用程序变得容易。Java可以用于开发各种物联网应用程序,如智能家居、智能

    2024年02月03日
    浏览(72)
  • 云计算:云计算安全性有哪些?_云计算技术的安全性,这些知识你必须拿下

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新网络安全全套学习资料》

    2024年04月23日
    浏览(44)
  • 什么是前端安全性(front-end security)?列举一些前端安全性的最佳实践

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年02月05日
    浏览(54)
  • 《网络安全0-100》低层协议安全性

    对于网络层,IP协议是其中一个非常重要的协议。网络层的IP地址相当于数据链路层的Mac地址。协议字段如下,每行4字节,总共4*5=20字节。   IP协议安全性:IP协议不能保证数据就是从数据包中给定的源地址发出的,你绝对不能靠对源地址的有效性检验来判断数据包的好坏。

    2024年02月11日
    浏览(40)
  • 【MySQL】-安全性控制

    用户(User) MySQL创建用户: create user 用户名 identified by 用户登录密码; 通常用户名可包含域名,限定用户在该域名内登录再有效。 alter user语句可重置用户密码: ALTER USER user IDENTIFIED BY ‘new_password’; 权限 MySQL常用的权限有: all: 所有权限(grant option除外) alter: alter table权限 a

    2023年04月26日
    浏览(40)
  • 线程的安全性

    你或许会感到奇怪,线程或者锁在并发编程中的作用,类似于铆钉和工字梁在土木工程中的作用。要建筑一座坚固的桥梁,必须正确地使用大量的铆钉和工字梁。同理,在构建稳健的并发程序时,必须正确地使用线程和锁。但这些终归只是一些机制。要编写线程安全的代码,

    2024年02月07日
    浏览(65)
  • 商用密码安全性评估

    商用密码应用安全性评估(简称“密评”)指在采用商用密码技术、产品和服务集成建设的网络和信息系统中,对其密码应用的合规性、正确性和有效性等进行评估。 01办理依据 GM/T0054-2018《信息系统密码应用基本要求》 《信息系统密码测评要求(试行)》 《商用密码应用安

    2024年02月06日
    浏览(41)
  • 智能合约开发~~安全性

    最低安全限度: ~ 所有代码应该被存在于一个版本控制系统当中,例如 git ~ 所有的代码修改都应该通过拉取请求来进行 ~ 所有的拉取请求都应该有至少一个审核员。 如果这是一个个人项目,请考虑寻找另一位个人作者和一个交易代码审核员。 ~ 使用开发以太坊环境(请参阅

    2024年01月17日
    浏览(40)
  • 线程简介及安全性

    1. 线程的优点 发挥多处理器的强大功能 建模的简单性 为模型中的每种类型任务都分配一个专门的线程 异步事件的简化处理 响应更灵敏的用户界面 2. 线程带来的风险 安全性问题 活跃性问题 如发生死锁,无限等待 性能问题 如频繁的上下文切换:保存与恢复上下文,丢失局

    2023年04月17日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包