当前位置:   article > 正文

springboot的jar包加密【不适用于springBoot+jpa(hibernate)】_springboot jar包加密

springboot jar包加密

一、背景

项目组核心代码模块部署于用户服务器上,另外一家公司获取了该服务器的root密码,常规的通过配置环境变量来进行数据库加密处理的方式,直接甩jar包到服务器的方式,极有可能导致数据泄露和代码泄露。

二、使用jar包加密的方式,防止jar包被反编译造成源代码泄露

  1. github下载xjar demo,下载地址:https://github.com/yumingzhu/xjarDemo/tree/master/target
  2. 自己代码的pom同级目录下,新建文件夹(如xjarEncode),并将xjarDemo-1.0-SNAPSHOT.jar拷贝放进来
  3. 项目打包成jar包
  4. 在第2步新建的文件夹中创建bat脚本文件(如encode.bat),方便后续快速执行
    【123456】 自定义密码。根据自己的需要填写
    【targets-0.0.1-SNAPSHOT.jar】 maven打包生成的jar包名称
    【targets.jar】 目标jar包名称

java -cp .\xjarDemo-1.0-SNAPSHOT.jar XjarDemo 123456 …\target\targets-0.0.1-SNAPSHOT.jar .\targets.jar

  1. 执行
    1. windows执行方法,在弹出的窗口内输入第四步你设置的密码即可

      java -jar targets.jar
      
      • 1
    2. linux执行方法,新建 encode.key文件

      password: 123456
      hold: true
      
      • 1
      • 2

启动命令:nohup java -Duser.timezone=Asia/Shanghai -Xms4g -Xmx4g -jar target.jar --xjar.keyfile=encode.key 2>/dev/null 1>&2 &
注:target.jar是加密后的jar包文件,encode.key是上面新建在Linux的文件,请注意路径问题

  1. 加密前后反编译对比
    加密前:在这里插入图片描述
    加密后:在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/984597
推荐阅读
相关标签
  

闽ICP备14008679号