[发明专利]一种Springboot程序加密和解密的装置及方法有效

专利信息
申请号: 201910352216.7 申请日: 2019-04-26
公开(公告)号: CN110069905B 公开(公告)日: 2021-03-23
发明(设计)人: 杨毅;张力强;袁挺 申请(专利权)人: 深圳智慧园区信息技术有限公司
主分类号: G06F21/14 分类号: G06F21/14;G06F21/60
代理公司: 暂无信息 代理人: 暂无信息
地址: 518116 广东省深圳市龙岗区坂田*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 springboot 程序 加密 解密 装置 方法
【说明书】:

发明公开了一种Springboot程序的加密装置、解密装置、加密方法和解密方法,加密装置包括有秘钥获取模块、代码获取模块、加密模块和重打包模块;解密装置是源代码经过混淆后再编译得到的字节码文件,包括有:密文获取模块、解密模块和加载模块,内嵌于Springboot程序的引导文件内。加密装置通过RSA非对称加密方法根据已生成的私钥对待加密字节码文件进行加密,将Java字节码文件加密为不可反编译的文件,解密装置通过公钥用于对已加密的Springboot程序解密,用户在想要反编译字节码文件获取源代码时会发现不能破解,解决了现有Springboot程序源代码的防泄密方法安全性较差的问题,并能防止Java反编译工具对其进行破解,解密装置也通过代码混淆实现了对解密装置的保护。

技术领域

本发明属于计算机技术领域,具体涉及一种Springboot程序的加密和解密的装置及方法。

背景技术

Java编写的程序源代码经过Java编译器编译生成Java字节码(.class文件)用来在Java虚拟机上运行。Java字节码独立于计算机硬件以及操作系统,是Java能跨平台运行的基础。然而Java字节码中包含大量的源码信息,例如:源文件名、行号、字段名、方法名、参数名和变量名等。这导致Java字节码文件非常容易被反编译,从而获得程序的全部源代码。目前市面上有jd-gui等许多可以用来反编译的软件。

为了防止反编译一般有代码混淆以及代码加密两种方式。

代码混淆是指将计算机程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为。将代码中的各种元素,如变量、函数、类的名字改写成无意义胡名字,使得阅读的人无法根据名字猜测其用途。还可以重写代码中的部分逻辑,将其变成功能上等价,但是更难以理解的形式,打乱代码的格式。但是基于spring框架的java代码由于使用了spring的依赖注入以及面向切面编程特性,变量、函数、类的名字无法自由更改,这使得代码混淆效果很差,无法有效防止他人获取自己程序的源代码。

代码加密是通过加密算法,将字节码文件转换成另一种文件,由于被修改了文件格式,反编译软件无法再将其转化为源代码,但加密后的文件也无法被Java虚拟机运行。这时就需要在运行时使用classloader命令,指定一个自己开发的文件加载器,将加密后的文件解密后再装入虚拟机中运行。但目前市面上的代码加密都是针对单个class文件,springboot程序由于有其特有的文件加载方法,使用市面上的加密工具无法对springboot程序加密。

springboot程序未经加密,按正常步骤对springboot程序进行编译打包,生成jar文件包,此时得到的jar文件包非常容易被破解。

JavaDecompiler是一种市场上常见的Java反编译工具,使用JavaDecompiler对jar文件进行反编译,效果如图1所示。图2为源代码,对比图1和图2,即将经JavaDecompiler反编译所得到的效果图和源代码进行对比,会发现除了注释在反编译时被去除了,其它信息都是可见的,源代码绝大部分信息都被反编译了,甚至代码在文件中的哪一行都是清晰可见的。

由此可见,如果没有合适的加密工具对springboot程序加密,非常不利于保护新开发的软件或程序,不利于保护开发者的合法利益,会降低开发者的积极性和创造性;从长远来看,会扰乱市场的正常秩序,不利于行业的良性发展。

发明内容

本发明提供一种Springboot程序的加密和解密的装置及方法,通过非对称加密方法对待加密字节码文件进行加密,将Java字节码文件加密为不可反编译的文件,用户在想要反编译字节码文件获取源代码时会发现不能破解,实现了对Springboot程序源代码的保护,解决了现有Springboot程序源代码的防泄密方法安全性较差的问题。本发明技术方案如下:

Springboot程序的加密装置,包括有:秘钥获取模块、代码获取模块、加密模块和重打包模块;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳智慧园区信息技术有限公司,未经深圳智慧园区信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910352216.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top