本说明书涉及互联网,尤其涉及一种前端代码混淆加密方法、装置、存储介质及设备。
背景技术:
1、在前端开发领域,javascript代码通常负责处理关键的业务逻辑,为了提高前端代码的安全性,防止敏感的业务逻辑被轻易理解和复制,对前端代码进行混淆加密是一种直接且有效的策略。
2、目前,对前端代码进行混淆加密的方法,是通过增强前端代码的复杂性,保护前端代码不被攻击者轻易理解。例如,在前端代码中插入大量无关代码片段,形成干扰。但是,这些方法可能导致前端代码体积大幅度增大,使得前端代码的可维护性下降。
3、基于此,本说明书提供了一种前端代码混淆加密方法、装置、存储介质及设备。
技术实现思路
1、本说明书提供了一种前端代码混淆加密方法、装置、存储介质及设备,以部分的解决现有技术存在的上述问题。
2、本说明书采用下述技术方案:
3、本说明书提供了一种前端代码混淆加密方法,所述方法包括:
4、获取目标业务的前端代码,并至少识别所述前端代码中对象实例和/或属性访问实例的代码语句;
5、针对每个代码语句,识别该代码语句中的编程元素,并生成所述编程元素的映射标识,所述编程元素至少包括变量、函数以及字符串中一种;
6、根据所述编程元素以及所述编程元素的映射标识的对应关系,生成标识文件;
7、根据所述标识文件,将所述前端代码中的编程元素替换为所述编程元素的映射标识,得到混淆加密后的前端代码,使前端设备基于所述标识文件通过所述混淆加密后的前端代码执行所述目标业务。
8、可选的,在生成标识文件之后,所述方法还包括:
9、将所述标识文件存储到远程服务器,使所述前端设备通过调用所述标识文件,以及所述混淆加密后的前端代码执行所述目标业务。
10、可选的,所述方法还包括:
11、按照预设时间周期迭代执行以下步骤:
12、在得到混淆加密后的前端代码之后,在预设时间周期后,根据当前的标识文件,对所述混淆加密后的前端代码进行还原,确定所述前端代码;
13、更新所述标识文件中编程元素的映射标识,并确定更新后的标识文件;
14、根据所述更新后的标识文件,重新确定混淆加密后的前端代码。
15、可选的,在使所述前端设备执行所述目标业务之前,所述方法还包括:
16、识别所述混淆加密后的前端代码中的无效内容,通过在所述混淆加密后的前端代码去除所述无效内容,压缩所述混淆加密后的前端代码,其中,所述无效内容至少包括空白字符以及注释中的一种。
17、可选的,所述方法还包括:
18、对所述标识文件进行加密处理,使所述前端设备在调用加密后的标识文件,对所述加密后的标识文件进行反加密,并根据反加密后的标识文件以及所述混淆加密后的前端代码执行所述目标业务。
19、本说明书提供了一种混淆加密后的前端代码运行方法,所述方法包括:
20、确定混淆加密后的前端代码;
21、根据预先存储的标识文件,对所述混淆加密后的前端代码进行还原,确定所述前端代码;
22、根据所述前端代码,执行目标业务。
23、可选的,在根据预先存储的标识文件,对所述混淆加密后的前端代码进行还原之前,所述方法还包括:
24、向所述远程服务器发送调用请求;
25、获取所述远程服务器中预先存储的标识文件。
26、本说明书提供了一种前端代码混淆加密装置,包括:
27、代码获取模块,用于获取目标业务的前端代码,并至少识别所述前端代码中对象实例和/或属性访问实例的代码语句;
28、标识生成模块,用于针对每个代码语句,识别该代码语句中的编程元素,并生成所述编程元素的映射标识,所述编程元素至少包括变量、函数以及字符串中一种;
29、文件生成模块,用于根据所述编程元素以及所述编程元素的映射标识的对应关系,生成标识文件;
30、混淆加密模块,用于根据所述标识文件,将所述前端代码中的编程元素替换为所述编程元素的映射标识,得到混淆加密后的前端代码,使前端设备基于所述标识文件通过所述混淆加密后的前端代码执行所述目标业务。
31、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现一种前端代码混淆加密方法。
32、本说明书提供了一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现一种前端代码混淆加密方法。
33、本说明书采用的上述至少一个技术方案能够达到以下有益效果:在本说明书提供的一种前端代码混淆加密方法中,获取目标业务的前端代码,并至少识别该前端代码中对象实例和/或属性访问实例的代码语句,针对每个代码语句,确定该代码语句中的编程元素,并生成该编程元素的映射标识,进而根据编程元素以及编程元素的映射标识的对应关系,生成标识文件,根据该标识文件,将该前端代码中的编程元素替换为编程元素的映射标识,实现对该前端代码的混淆加密,使前端设备可根据该混淆加密后的前端代码,以及该标识文件,执行目标业务。
34、从上述方法可以看出,通过识别前端代码中的编程元素,进而用生成的映射标识替换编程元素,实现前端代码的混淆加密,降低了代码可读性,以及提高了前端代码的安全性,同时,标识文件使得前端代码中的编程元素在运行时才能确定,增强了安全性,以及方便集中管理,提高了代码的可维护性。
1.一种前端代码混淆加密方法,其特征在于,包括:
2.如权利要求1所述方法,其特征在于,在生成标识文件之后,所述方法还包括:
3.如权利要求1所述方法,其特征在于,所述方法还包括:
4.如权利要求1所述方法,其特征在于,在使所述前端设备执行所述目标业务之前,所述方法还包括:
5.如权利要求1所述方法,其特征在于,所述方法还包括:
6.一种混淆加密后的前端代码运行方法,其特征在于,包括:
7.如权利要求6所述方法,其特征在于,在根据预先存储的标识文件,对所述混淆加密后的前端代码进行还原之前,所述方法还包括:
8.一种前端代码混淆加密装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。