掌桥专利:专业的专利平台
掌桥专利
首页

一种文件处理方法、装置、存储介质及电子装置

文献发布时间:2023-06-19 11:35:49


一种文件处理方法、装置、存储介质及电子装置

技术领域

本发明实施例涉及通信领域,具体而言,涉及一种文件处理方法、装置、存储介质及电子装置。

背景技术

现在的应用程序通常会把一些技术参数或者业务参数配置到配置文件中,程序启动时读取配置文件里配置值以初始化应用程序。

而为保护应用配置文件中一些安全敏感信息(如数据库用户密码等),需要把这部分安全敏感信息进行加密,以使得配置文件中配置的值是密文,同时为了让应用初始化时能够正确解密密文信息,还需要把密钥信息配置到配置文件。

上述加密配置方法在配置过程中,为了让应用程序在启动时能够解密密文,以得到明文信息,因而需要将密钥信息明文配置在配置文件中,这使得密钥信息很容易被获取,从而造成了信息安全隐患。

发明内容

本发明实施例提供了一种文件处理方法、装置、存储介质及电子装置,以至少解决相关技术中信息安全性较低的问题。

根据本发明的一个实施例,提供了一种文件处理方法,包括:

获取初始文件的初始文件信息,其中,所述初始文件信息中包含有多行信息;

对所述初始文件信息逐行执行目标处理,其中,所述目标处理包括:对当前行中的初始文件信息执行第一检测;在所述第一检测结果为当前行中的初始文件信息包含目标信息的情况下,对所述目标信息执行加密处理,以得到目标加密信息;将所述目标信息替换为所述目标加密信息,以得到目标文件信息;将所述目标文件信息写入第一文件中与所述当前行对应的位置中;

在对所述初始文件信息中包含的每行信息均执行了所述目标处理的情况下,删除所述初始文件,并将所述第一文件作为目标文件。

在一个示例性实施例中,所述目标处理还包括:

在所述第一检测结果为当前行中的初始文件信息中未包含所述目标信息的情况下,将当前行中的初始文件信息写入所述第一文件中关于所述当前行对应的位置中。

在一个示例性实施例中,在对所述初始文件信息逐行执行目标处理之前,所述方法还包括:

在目标路径中生成所述第一文件,其中,所述目标路径为所述初始文件所在的路径。

在一个示例性实施例中,对所述目标信息执行加密处理,以得到目标加密信息包括:

获取目标设备的配置信息,其中,所述目标设备为用于运行所述目标文件的设备;

根据所述配置信息,对所述目标信息进行加密计算,以得到所述目标加密信息。

在一个示例性实施例中,所述根据所述配置信息,对所述目标信息进行加密计算包括:

对所述配置信息进行叠加计算,以得到加密摘要;

根据所述加密摘要,生成加密密钥,其中,所述加密密钥包括所述加密摘要;

根据所述加密密钥,对所述目标信息进行加密计算,以得到所述目标加密信息。

在一个示例性实施例中,在对所述初始文件信息逐行执行所述目标处理之前,所述方法还包括:对所述初始文件信息中的待加密信息进行第一标识处理,以得到包含第一目标标识的所述目标信息;

对所述目标信息执行加密处理,以得到目标加密信息包括:对所述目标信息中包括的除所述第一目标标识之外的信息进行所述加密处理,以得到所述目标加密信息;

将所述目标文件信息写入第一文件中与所述当前行对应的位置中包括:将目标文件信息中包括的所述第一目标标识替换为第二目标标识,以得到更新后的目标文件信息;将所述更新后的目标文件信息作为所述目标文件信息写入所述第一文件中与所述当前行对应的位置中。

根据本发明的另一个实施例,提供了一种文件处理装置,包括:

初始信息采集模块,用于获取初始文件的初始文件信息,其中,所述初始文件信息中包含有多行信息;

目标处理模块,用于对所述初始文件信息逐行执行目标处理,其中,所述目标处理包括:对当前行中的初始文件信息执行第一检测;在所述第一检测结果为当前行中的初始文件信息包含目标信息的情况下,对所述目标信息执行加密处理,以得到目标加密信息;将所述目标信息替换为所述目标加密信息,以得到目标文件信息;将所述目标文件信息写入第一文件中与所述当前行对应的位置中;

文件替换模块,用于在对所述初始文件信息中包含的每行信息均执行了所述目标处理的情况下,删除所述初始文件,并将所述第一文件作为目标文件。

在一个示例性实施例中,所述目标处理还包括:

在所述第一检测结果为当前行中的初始文件信息中未包含所述目标信息的情况下,将当前行中的初始文件信息写入所述第一文件中关于所述当前行对应的位置中。

根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,在检测目标信息的情况下,对初始文件中的目标信息进行加密处理,并直接将替换后的第一文件替换初始文件,因此,无需将密钥明文等写入初始文件,从而可以解决相关技术中信息安全性较低的问题,达到提高信息安全性的效果。

附图说明

图1是本发明实施例的一种文件处理方法的移动终端的硬件结构框图;

图2是根据本发明实施例的一种文件处理方法的流程图;

图3是根据本发明实施例的一种文件处理装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明的实施例。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种文件处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种文件处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种文件处理方法,图1是根据本发明实施例的一种文件处理方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,获取初始文件的初始文件信息,其中,初始文件信息中包含有多行信息;

在本实施例中,初始文件一般是指(但不限于)存储在特定途径下的为启动相关应用程序所需要调用的配置文件,相应的,初始文件信息可以(但不限于)是启动相关应用程序所需要调用的配置文件所包含的信息,如文件位置、代码指令、目标程序代码等;其中,获取初始文件的方式可以(但不限于)是通过扫描特定路径下的所有文件来获得,也可以是根据预先接收的路径信息直接从指定路径调取,还可以是通过人工调用或输入来获得,还可以通过其它方式来获得;其中,配置文件的传输可以是通过内部线路进行传输的,也可以是通过蓝牙、3G/4G/5G/量子通信网络等无线网络进行传输的。

需要说明的是,由于不同的应用程序所执行的功能不同,因而不同应用程序所需要的配置文件也不同,即,一个应用程序所要调用的配置文件可以是单个,也可以是多个,每个配置文件所包含的内容可以是有多行信息,也可以是单行信息;识别特定路径下的配置文件可以(但不限于)是在应用程序被启动时自动识别。

步骤S204,对初始文件信息逐行执行目标处理,其中,目标处理包括:对当前行中的初始文件信息执行第一检测;在第一检测结果为当前行中的初始文件信息包含目标信息的情况下,对目标信息执行加密处理,以得到目标加密信息;将目标信息替换为目标加密信息,以得到目标文件信息;将目标文件信息写入第一文件中与当前行对应的位置中;

在本实施例中,由于逐行对初始文件信息执行目标处理,因而能够避免因扫描失误造成的遗漏,从而保证处理后的初始文件信息的完整性;而将加密得到的目标加密信息写入第一文件并直接用目标加密信息替换目标信息,因而无需将目标加密信息对应的明文也写入第一文件,从而避免因在程序启动过程中对明文进行读取造成的加密信息泄露,提高了文件信息的安全性。

其中,逐行执行的方式可以是通过对每行的初始文件信息中包含的标识信息进行识别以判断对应的初始文件信息所在的行数,也可以是通过对行数进行计数来确定对应的初始文件信息所在的行数,还可以是通过其它方式来确定初始文件信息所在的行数;第一检测可以是对初始文件信息进行扫描,再根据扫描结果判断是否包含目标信息,其中,目标信息可以是带有特定标识的初始文件信息,例如,包含“WENC(1233)”的初始文件信息中,“WENC(1233)”即为目标信息,“1233”即为待加密的初始文件信息,“WENC()”即为用于进行标识的标识信息,且“ENC(1233)”即为执行加密处理后的目标加密信息;加密处理可以是通过特定的加密算法对前述目标信息进行加密,例如,可以(但不限于)是通过国密非对称加解密算法SM2来实现,也可以采用其他加解密算法来实现;在得到目标加密信息后,可以将初始文件信息写入第一文件,再用目标加密信息对目标信息进行替换,以得到不包含初始文件信息的第一文件;其中,第一文件可以是在特定路径下的文件夹或者文件模板。

步骤S206,在对初始文件信息中包含的每行信息均执行了目标处理的情况下,删除初始文件,并将第一文件作为目标文件。

在本实施例中,在对每行信息均执行了目标处理的情况下,删除初始文件是为了避免应用程序启动时,对初始文件的扫描读取造成的错误执行,同时避免初始文件的存在导致的初始文件信息的泄露。

其中,删除初始文件可以是在执行应用程序的计算机上实现的,且执行初始文件删除功能的,可以是计算机自身配置的CPU(Central Processing Unit,中央处理器)、MCU、FPGA(Field Programmable Gate Array,现场可编辑逻辑门阵列)、PLC(ProgrammableLogic Controller,可编辑逻辑控制器)等具有逻辑计算功能的模块或设备,也可以是计算机外接的计算设备或模块,如云计算机等;执行删除初始文件可以是在计算机接收到最后一行信息也执行了目标处理的情况下发送的触发指令后触发执行的,也可以是在接收到最后一行信息也执行了目标处理的结果的情况下触发执行的,还可以是通过其它方式触发执行的。

通过上述步骤,将加密得到的目标加密信息写入第一文件并直接用目标加密信息替换目标信息,因而无需将目标加密信息对应的明文也写入第一文件,从而避免因在程序启动过程中对明文进行读取造成的加密信息泄露,提高了文件信息的安全性解决了信息处理安全性较低的问题,提高了信息安全性。

其中,上述步骤的执行主体可以为基站、终端等,但不限于此。

在一个可选的实施例中,目标处理还包括:

步骤S2042,在第一检测结果为当前行中的初始文件信息中未包含目标信息的情况下,将当前行中的初始文件信息写入第一文件中关于当前行对应的位置中。

在本实施例中,将未包含目标信息的初始文件信息也写入第一文件是为了保证初始文件信息的完整性,避免出现信息遗漏。

在一个可选的实施例中,在对初始文件信息逐行执行目标处理之前,该方法还包括:

步骤S20402,在目标路径中生成第一文件,其中,目标路径为初始文件所在的路径。

在本实施例中,预先在初始文件所在的路径生成第一文件能够方便将替换的文件信息写入第一文件,同时减少因在替换过程中生成第一文件耗费的时间。

其中,生成第一文件的执行可以(但不限于)是由计算机自身配置的CPU、MCU、FPGA、PLC等具有逻辑计算功能的模块或设备来实现的,也可以是计算机外接的计算设备或模块来实现的,如云计算机等。

在一个可选的实施例中,对目标信息执行加密处理,以得到目标加密信息包括:

步骤S2044,获取目标设备的配置信息,其中,目标设备为用于运行目标文件的设备;

步骤S2046,根据配置信息,对目标信息进行加密计算,以得到目标加密信息。

在本实施例中,由于执行应用程序的目标设备的硬件配置不完全相同,因而根据目标设备的配置计算得到的加密信息也不完全相同,从而保证加密信息的独立性,避免信息的泄露。

其中,目标设备可以是应用程序所在的服务器、CPU等硬件设备,相应的,配置信息可以(但不限于)是应用程序所在的服务器、CPU的网卡MAC地址、CPU型号、CPU核数等以及预先内置的长为256位的字符串等信息;加密计算方式可以是通过采用国密非对称加解密算法SM2实现。

在一个可选的实施例中,根据配置信息,对目标信息进行加密计算包括:

步骤S20462,对配置信息进行叠加计算,以得到加密摘要;

步骤S20464,根据加密摘要,生成加密密钥,其中,加密密钥包括加密摘要;

步骤S20466,根据加密密钥,对目标信息进行加密计算,以得到目标加密信息。

在本实施例中,加密摘要可以(但不限于)是将目标设备的网卡MAC地址、CPU型号、CPU核数等与内置的长为256位的字符串进行叠加计算得到的,也可以是通过其它方式计算得到。

在一个可选的实施例中,

在对初始文件信息逐行执行目标处理之前,该方法还包括:

步骤S20404,对初始文件信息中的待加密信息进行第一标识处理,以得到包含第一目标标识的目标信息;

在本实施例中,对待加密信息进行标识是为了在执行扫描过程中能够快速与识别;其中,第一目标标识可以(但不限于)是前述的“WENC()”;第一标识处理的执行可以(但不限于)是由计算机自身配置的CPU、MCU、FPGA、PLC等具有逻辑计算功能的模块或设备来实现的,也可以是计算机外接的计算设备或模块来实现的,如云计算机等。

对目标信息执行加密处理,以得到目标加密信息包括:

步骤S20468,对目标信息中包括的除第一目标标识之外的信息进行加密处理,以得到目标加密信息;

在本实施例中,除第一目标标识之外的信息可以(但不限于)是前述的“1233”。

将目标文件信息写入第一文件中与当前行对应的位置中包括:

步骤S2062,将目标文件信息中包括的第一目标标识替换为第二目标标识,以得到更新后的目标文件信息;

步骤S2064,将更新后的目标文件信息作为目标文件信息写入第一文件中与当前行对应的位置中。

在本实施例中,将第一目标标识替换为第二目标标识可以是将前述的“WENC()”替换为“ENC()”。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种配置文件加密装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的一种文件处理装置的结构框图,如图3所示,该装置包括:

初始信息采集模块32,用于获取初始文件的初始文件信息,其中,初始文件信息中包含有多行信息;

目标处理模块34,用于对初始文件信息逐行执行目标处理,其中,目标处理包括:对当前行中的初始文件信息执行第一检测;在第一检测结果为当前行中的初始文件信息包含目标信息的情况下,对目标信息执行加密处理,以得到目标加密信息;将目标信息替换为目标加密信息,以得到目标文件信息;将目标文件信息写入第一文件中与当前行对应的位置中;

文件替换模块36,用于在对初始文件信息中包含的每行信息均执行了目标处理的情况下,删除初始文件,并将第一文件作为目标文件。

在一个可选的实施例中,目标处理还包括:

在第一检测结果为当前行中的初始文件信息中未包含目标信息的情况下,将当前行中的初始文件信息写入第一文件中关于当前行对应的位置中。

在一个可选的实施例中,该装置还包括:

第一文件生成模块340,用于在对初始文件信息逐行执行目标处理之前,在目标路径中生成第一文件,其中,目标路径为初始文件所在的路径。

在一个可选的实施例中,目标处理模块34通过以下方式实现对目标信息执行加密处理,以得到目标加密信息:

获取目标设备的配置信息,其中,目标设备为用于运行目标文件的设备;

根据配置信息,对目标信息进行加密计算,以得到目标加密信息。

在一个可选的实施例中,目标处理模块34通过以下方式实现根据所述配置信息,对目标信息进行加密计算,以得到目标加密信息:

对配置信息进行叠加计算,以得到加密摘要;

根据加密摘要,生成加密密钥,其中,加密密钥包括加密摘要;

根据加密密钥,对目标信息进行加密计算,以得到目标加密信息。

在一个可选的实施例中,

目标处理模块34包括:

第一标识单元342,用于在对初始文件信息逐行执行目标处理之前,对初始文件信息中的待加密信息进行第一标识处理,以得到包含第一目标标识的目标信息;

目标处理模块34还用于通过以下方式实现对所述目标信息执行加密处理,以得到目标加密信息:

对目标信息中包括的除第一目标标识之外的信息进行所述加密处理,以得到目标加密信息;

目标处理模块34还用于通过以下方式实现将所述目标文件信息写入第一文件中与所述当前行对应的位置中:

将目标文件信息中包括的第一目标标识替换为第二目标标识,以得到更新后的目标文件信息;将更新后的目标文件信息作为目标文件信息写入第一文件中与当前行对应的位置中。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

下面结合具体的实施例对本发明进行说明。

在应用启动时,目标设备自动识别所有配置文件路径(对应前述的步骤S202);随后逐行扫描这些路径下的所有配置文件(对应前述的步骤S204);如果发现有待加密的安全敏感信息,则使用内置密钥生成算法生成密钥对,并使用该密钥将原始值加密后写回配置文件覆盖原始值(对应前述的步骤S204中的目标处理)。

其中,应用初始化时,使用同样的密钥解密密文得到明文值,且初始化只在第一次应用启动的过程中执行。

其中,密钥对的生成可以采用国密非对称加解密算法SM2实现,该算法在加解密过程中所采用的密钥对是基于特定种子计算生成的,而种子的生成采用的是应用程序所在服务器的一些硬件信息,如网卡MAC地址、CPU型号、CPU核数等,以及预先内置的长为256位的字符串;在计算过程中将意见信息与字符串两相叠加后计算摘要,再根据摘要确定种子;其中,由于不同服务器的硬件信息不同,因而不同服务器的密钥对不同,不同服务器对同一个配置值加密后的密文也不同。

而为了让密文写回更可靠,避免写入过程中的异常导致写入不全、原始配置文件数据丢失的问题,本发明在写回时采用如下策略:

首先在原始文件的同目录下生成一个临时文件,临时文件名为“原始文件名.tmp”;

随后逐行扫描原始文件;

如果本行没有待加密的内容,则原样写入临时文件,否则将加密后的密文替换明文再写回临时文件;

待原始文件扫描完毕并完全写入临时文件成功后,再删除原始文件并把临时文件重命名为原始文件名,并最终完成配置文件替换。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种文件处理方法、装置、存储介质及电子装置
  • 文件处理方法及装置、存储介质及电子装置
技术分类

06120112985923