SpringBoot 项目 引入ClassFinal 解决代码加密和机器码绑定问题
场景
这边用 springboot 开发打包后得到 jar 包,要在客户机器上部署,有防反编译和绑定唯一id的需求
引入
https://gitee.com/roseboy/classfinal.git
Maven 插件方式引入
<plugin><groupId>net.roseboy</groupId><artifactId>classfinal-maven-plugin</artifactId><version>1.2.1</version><configuration><!-- 加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码,当为 # 时不加密 --><password>xxxx</password><!-- 加密的包名(可为空,多个用","分割) --><packages>io.renren</packages><!-- 配置说明文件,如果没有特殊的打包要求可以注销 cfgfiles 标签 --><cfgfiles>application.yml</cfgfiles><code>xxxx</code><!-- 排除的类名(可为空,多个用","分割) -->
<!-- <excludes>org.spring</excludes>--></configuration><executions><execution><phase>package</phase><goals><goal>classFinal</goal></goals></execution></executions></plugin>
打包
会看到得到一个 xxx-encrypted.jar
启动时可以看到提示需要输入密码
java -javaagent:xxx-encrypted.jar -jar xxx-encrypted.jar
绑定机器码
https://gitee.com/link?target=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fnet%2Froseboy%2Fclassfinal-fatjar%2F1.2.1%2Fclassfinal-fatjar-1.2.1.jar
# 部署的机器上运行
java -jar classfinal-fatjar.jar -C
配置文件的 code 里面 配置待部署的机器上生成的 code
就能实现绑定机器码了
TODO
其实还剩下一个后台运行输入 passwd 的需求没实现,这里挺矛盾的,所以实际用的时候我没设置密码,password 那一行注释掉了,后面再填坑吧
SpringBoot 项目 引入ClassFinal 解决代码加密和机器码绑定问题相关推荐
- Springboot项目引入Bootstrap后,图标不能正常显示,报:Failed to decode downloaded font
springboot项目引入bootstrap后,报:Failed to decode downloaded font,图标不能正常显示 在pom文件中,添加如下配置 <plugin>&l ...
- Java springboot项目引入腾讯云COS实现上传
Java springboot项目引入腾讯云COS实现上传 pom.xml 配置类CosConfig.java 上传工具类CosClientUtil.java pom.xml <!--腾讯云上传 ...
- SpringBoot项目报错解决:“Error starting ApplicationContext. To display the conditions report re-run ...”
SpringBoot项目报错:Error starting ApplicationContext. To display the conditions report re-run your appli ...
- springboot项目引入图片_SpringBoot实现上传图片功能
1:首先在项目的pom文件中添加两个依赖 commons-fileupload commons-fileupload 1.3.1 net.coobird thumbnailator 0.4.8 2:r ...
- springboot项目引入图片_项目经验不重样!3个基于 SpringBoot 的图片识别处理系统送给你!...
我是 Guide 哥,一 Java 后端开发,会一点前端,自由的少年. 如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步! 最近看了太多读者小伙伴的简历,发现各种商城/秒杀系统/在线教育 ...
- springboot项目引入图片_项目经验不重样!3个基于SpringBoot 的图片识别处理系统送给你...
转载:https://mp.weixin.qq.com/s/WDMyIfOi2ogw0mKl3XxQdQ 最近看了太多读者小伙伴的简历,发现各种商城/秒杀系统/在线教育系统真的是挺多的.推荐一下昨晚找 ...
- java项目免费授权方案 代码加密 离线授权 模块授权
java项目单机离线部署时,放在客户端无外网控制权限, 怎么实现软件级别的加密授权呢?大多数使用lic号 , 采集mac地址,硬件编号授权, 但是class类很容易反编译被破解.很容易被模仿,抄袭核心 ...
- window中使用bat启动springboot项目,并解决乱码问题
目录 1.springboot项目打包jar 2.编写bat启动springboot脚本 3.bat启动springboot 4.常见问题 4.1.解决bat控制台中文乱码问题 4.2.cd %~dp ...
- 使用IDEA集成docker部署springboot项目及bug解决并连同redis、MySQL
流程介绍 安装docker(windows) 配置docker源加速 docker安装redis IDEA集成docker # IDEA连接docker 配置springboot项目 打包成docke ...
最新文章
- “云智一体”的全场景智能视频技术是什么?
- 太强了!这款轻量级的数据库中间件完美解决了SpringBoot中分库分表问题
- iOS应用内付费(IAP)开发步骤列表
- Python爬虫环境常用库安装
- 计算机原理与技术索引的应用,经常学一点计算机底层原理系列之索引
- 兴业银行实时跨行转入功能、免除手续费及网点排队
- 测试方法-等价类划分法
- 余世伟视频笔记----如何塑造管理者的性格魅力领袖根性之诚信和担当
- ora-01033错误恢复
- 盘点含金量高的几种编程比赛
- 老一辈学计算机的在那,真实的南京大学计算机系
- JAVA基础——对象与引用概念(转载)
- obj[key].obj['key'],obj.key的区别
- STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
- 铁矿石需求量matlab代码,铁矿石期货市场分析
- Netty实现聊天室
- 苹果党福利!手机数据备份恢复使用攻略
- H2.64和H2.65编码区别
- C语言实现小游戏之井字棋
- DropWizard的AOP扩展点最佳实践