源码加解密方法、设备和存储介质技术

技术编号:34961706 阅读:70 留言:0更新日期:2022-09-17 12:41
本申请涉及一种源码加解密方法、设备和存储介质。所述方法包括:获取多个待加密的编译结果文件的文件路径;所述多个待加密的编译结果文件构成待加密的源码,不同的编译结果文件对应的文件路径不同;根据所述编译结果文件对应的文件路径对相应的所述编译结果文件进行加密,得到各所述编译结果文件对应的加密编译文件;根据各所述编译结果文件对应的加密编译文件,确定所述待加密的源码对应的加密源码。采用本方法能够增强对源码加密的可靠性以及安全性。安全性。安全性。

【技术实现步骤摘要】
源码加解密方法、设备和存储介质


[0001]本申请涉及计算机
,特别是涉及一种源码加解密方法、设备和存储介质。

技术介绍

[0002]随着编程语言技术的不断发展,出现了各种各样的编程语言,各个公司也根据实际情况采用自身所需的编程语言进行源码编写,并在源码编写完成之后对源码进行加密,以防止源码在生成应用软件之后遭受非法人员的攻击。
[0003]相关技术中,一般在对源码进行加密时,大多是采用代码混淆的方式,即按照一定的规律将源码进行混淆,使外来用户看不到真实的源码,从而实现了对源码的加密。
[0004]然而,上述对源码进行加密的方式,存在对源码的加密可靠性不高,从而导致源码的安全性不高的问题。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提高对源码加密的可靠性以及安全性的源码加解密方法、设备和存储介质。
[0006]第一方面,本申请提供了一种源码加密方法,该方法包括:
[0007]获取多个待加密的编译结果文件的文件路径;该多个待加密的编译结果文件构成待加密的源码,不同的编译结果文件对应的文件路径不同;
[0008]根据编译结果文件对应的文件路径对相应的编译结果文件进行加密,得到各编译结果文件对应的加密编译文件;
[0009]根据各编译结果文件对应的加密编译文件,确定待加密的源码对应的加密源码。
[0010]本实施例中,由于各编译结果文件的文件路径不同,这样通过不同的文件路径分别对各编译结果文件进行加密,可以实现每个编译结果文件分别对应不同的密码,实现一编译结果文件一密码,从而可以增加通过各加密编译文件获得的加密源码被破解/被攻击的难度,即对源码进行加密的可靠性更高,源码的安全性也更高。
[0011]在其中一个实施例中,上述根据编译结果文件对应的文件路径对相应的编译结果文件进行加密,得到各编译结果文件对应的加密编译文件,包括:
[0012]根据各编译结果文件对应的文件路径,确定各编译结果文件对应的加密码表;该加密码表中包括多个码表元素;
[0013]采用各加密码表对相应的编译结果文件进行正向转换,确定各编译结果文件对应的加密编译文件。
[0014]本实施例中,通过各编译结果文件对应的文件路径确定对应的加密码表,并采用各加密码表相应的编译结果文件进行正向转换,确定对应的各加密编译文件,这样通过加密码表对各编译结果文件进行转换,可以避免密钥随加密源码传输导致容易窃取的问题,从而可以有效提高对源码加密的安全性。另外,每个加密码表中均包括多个码表元素,这样可以增加对加密码表的破解难度,即进一步提高对源码加密的安全性。
[0015]在其中一个实施例中,上述根据各编译结果文件对应的文件路径,确定各编译结果文件对应的加密码表,包括:
[0016]对各编译结果文件的文件路径进行散列运算,确定各编译结果文件对应的散列数据;
[0017]根据各编译结果文件对应的散列数据,确定各编译结果文件对应的多个码表元素;
[0018]将各编译结果文件对应的多个码表元素分别填充至相应的空码表中,得到各编译结果文件对应的加密码表;该空码表与加密码表的长度相同。
[0019]本实施例中,通过对各编译结果文件的文件路径进行散列运算,根据确定的散列数据确定对应的多个码表元素,并将多个码表元素分别填充至相应的空码表的对应位置处,得到各编译结果文件对应的加密码表,这里通过散列运算计算加密码表,由于散列算法所计算出来的散列数据具有不可逆的性质,即无法逆向演算回原本的数值,因此获得的加密码表的安全性更高,故而可以通过加密码表有效的保护源码。
[0020]在其中一个实施例中,上述根据各编译结果文件对应的散列数据,确定各编译结果文件对应的多个码表元素,包括:
[0021]执行运算操作,该运算操作包括:对一个编译结果文件对应的散列数据和散列数据的使用次数进行四则运算,确定上述编译结果文件对应的运算结果,并根据运算结果确定一个码表元素;
[0022]循环执行上述运算操作,直至达到预设的循环次数为止,得到上述编译结果文件对应的多个码表元素;上述预设的循环次数与加密码表的长度相同;
[0023]根据上述编译结果文件对应的多个码表元素,确定各编译结果文件对应的多个码表元素。
[0024]本实施例中,通过对散列数据和散列数据的使用次数进行四则运算以及散列运算确定码表元素,可以进一步增强加密码表的安全性,进而进一步增强源码的安全性。
[0025]在其中一个实施例中,上述对一个编译结果文件对应的散列数据和散列数据的使用次数进行四则运算,确定编译结果文件对应的运算结果,包括:
[0026]对一个编译结果文件对应的散列数据和散列数据的使用次数进行四则运算,确定四则运算结果;上述四则运算为根据待加密的源码对四则运算进行自定义后获得的;
[0027]对四则运算结果进行散列运算,确定编译结果文件对应的运算结果。
[0028]本实施例中,四则运算为自定义的四则运算,这样可以加大反编译的难度,即会加大被破解的难度,进一步增强对源码进行加密的可靠性以及安全性。
[0029]在其中一个实施例中,上述根据运算结果确定一个码表元素,包括:
[0030]对运算结果和预设的数值进行取余操作,确定运算结果对应的余数;上述预设的数值大于等于加密码表的长度;
[0031]判断编译结果文件对应的空码表中是否存在该余数,并在不存在该余数时将该余数作为一个码表元素。
[0032]本实施例中,通过取余操作确定码表元素,由于取余操作不可以,这样获得的码表元素以及加密码表的安全性更高,从而可以非常有效地增强源码的安全性。
[0033]在其中一个实施例中,上述加密码表为基于64个可打印字符的BASE64码表,且上
述BASE64码表的长度为66。
[0034]本实施例中,加密码表为基于64个可打印字符的BASE64码表,且该BASE64码表的长度为66,这样可以使加密源码更适合不同平台、不同语言的传输,扩展加密源码的适用范围。
[0035]在其中一个实施例中,上述方法还包括:
[0036]将加密源码和对应的解密方法生成动态链接库,并将动态链接库发送至需要使用待加密的源码的用户设备。
[0037]本实施例中,通过将加密源码和解密放生成动态链接库发送给用户设备,可以便于用户设备获取源码进行使用。
[0038]第二方面,本申请还提供了一种源码解密方法,该方法包括:
[0039]根据预设的加载方式加载动态链接库,获得动态链接库中的加密源码和对应的解密方法;
[0040]获取构成加密源码的多个加密编译文件的文件路径;不同的加密编译文件对应的文件路径不同;
[0041]根据加密编译文件对应的文件路径对相应的加密编译文件进行解密,确定各加密编译文件对应的解密编译文件;
[0042]根据各加密编译文件对应的解密编译文件,确本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种源码加密方法,其特征在于,所述方法包括:获取多个待加密的编译结果文件的文件路径;所述多个待加密的编译结果文件构成待加密的源码,不同的编译结果文件对应的文件路径不同;根据所述编译结果文件对应的文件路径对相应的所述编译结果文件进行加密,得到各所述编译结果文件对应的加密编译文件;根据各所述编译结果文件对应的加密编译文件,确定所述待加密的源码对应的加密源码。2.根据权利要求1所述的方法,其特征在于,所述根据所述编译结果文件对应的文件路径对相应的所述编译结果文件进行加密,得到各所述编译结果文件对应的加密编译文件,包括:根据各所述编译结果文件对应的文件路径,确定各所述编译结果文件对应的加密码表;所述加密码表中包括多个码表元素;采用各所述加密码表对相应的所述编译结果文件进行正向转换,确定各所述编译结果文件对应的加密编译文件。3.根据权利要求2所述的方法,其特征在于,所述根据各所述编译结果文件对应的文件路径,确定各所述编译结果文件对应的加密码表,包括:对各所述编译结果文件的文件路径进行散列运算,确定各所述编译结果文件对应的散列数据;根据各所述编译结果文件对应的散列数据,确定各所述编译结果文件对应的多个码表元素;将各所述编译结果文件对应的多个码表元素分别填充至相应的空码表中,得到各所述编译结果文件对应的加密码表;所述空码表与所述加密码表的长度相同。4.根据权利要求3所述的方法,其特征在于,所述根据各所述编译结果文件对应的散列数据,确定各所述编译结果文件对应的多个码表元素,包括:执行运算操作,所述运算操作包括:对一个所述编译结果文件对应的所述散列数据和所述散列数据的使用次数进行四则运算,确定所述编译结果文件对应的运算结果,并根据所述运算结果确定一个码表元素;循环执行所述运算操作,直至达到预设的循环次数为止,得到所述编译结果文件对应的多个码表元素;所述预设的循环次数与所述加密码表的长度相同;根据所述编译结果文件对应的...

【专利技术属性】
技术研发人员:张新星刘瑞贤张晋锋
申请(专利权)人:中科曙光国际信息产业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1