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

文件加密方法、文件解密方法、计算设备及存储介质

文献发布时间:2024-04-18 20:01:55


文件加密方法、文件解密方法、计算设备及存储介质

技术领域

本申请涉及数据处理技术领域,尤其涉及一种文件加密方法、文件解密方法、计算设备及存储介质。

背景技术

目前,使用对称加密算法对文件进行加密,使得文件仅可以在本地计算设备上使用,避免其他计算设备对文件的盗用。但是,使用对称加密算法对文件进行加密时,需要获取文件的诸多信息,例如:作者、修订号、版本号等,根据上述信息对文件进行加密。上述文件信息,用户可以根据自身需求进行更改或者隐藏。当用户对文件信息进行隐藏时,对文件加密的过程中,获取到的文件信息即为空值,使用空值处理文件,相当于未对文件进行处理,即未加密,因此是一次无效加密。当用户在对文件加密后更改了文件信息时,在对文件进行解密的过程中,无法获取到加密时使用的文件信息,因此无法对文件进行解密,进而会导致文件不可恢复。因此,如何提高文件加密的可靠性是目前亟需解决的问题。

发明内容

鉴于上述问题,本申请提供一种文件加密方法、文件解密方法、计算设备及存储介质,解决了如何提高文件加密的可靠性的问题。

为解决上述技术问题,本申请提出以下方案:

第一方面,本申请提供了一种文件加密方法,方法包括:获取第一时间和待加密文件的二进制数据,第一时间用于指示计算设备获取第一时间时的年、月、日、时、分;以及根据二进制数据和第一时间对待加密文件进行加密,得到加密文件。

结合第一方面,在一种可能的实现方式中,根据第一时间确定加密信息,加密信息包括第一索引、第一步长和第一数量,第一索引用于指示第一时间的年、月、日、时、分中任意两个数值相除的余数,第一步长用于指示第一时间的年、月、日、时、分中任意两个数值相乘的结果值,第一数量用于指示第一时间的年、月、日、时、分中任意两个数值之间的差值;以及根据加密信息处理二进制数据,得到加密文件。

结合第一方面,在另一种可能的实现方式中,根据第一索引和第一数量从二进制数据中提取目标加密数据;根据第一步长更新第一索引;根据更新后的第一索引和第一数量从二进制数据中提取第一加密数据;以及根据第一加密数据更新目标加密数据,直至目标加密数据的长度大于等于二进制数据的长度。

结合第一方面,在另一种可能的实现方式中,当第一索引大于二进制数据的长度时,将第一索引更新为第一索引与二进制数据的长度比值的余数部分。

结合第一方面,在另一种可能的实现方式中,确定二进制数据中更新后的第一索引对应的数据至二进制数据最后一位数据的数据长度;以及当数据长度小于第一数量时,提取二进制数据中更新后的第一索引对应的数据至二进制数据最后一位的数据,并从二进制数据的首位提取第一长度的数据,得到第一加密数据,第一长度为第一数量与数据长度的差值。

结合第一方面,在另一种可能的实现方式中,根据第一索引和第一数量确定目标加密数据是否包含二进制数据中的所有数据;若是,停止更新目标加密数据,得到加密文件。

第二方面,本申请提供了一种文件解密方法,方法包括:获取待解密文件的二进制加密数据和解密信息,解密信息包括待解密文件的二进制原始数据的长度、第一索引、第一数量以及第一索引与待解密文件的二进制加密数据位数的对应关系;以及根据解密信息对待解密文件进行解密。

结合第二方面,在一种可能的实现方式中,根据对应关系确定第一索引对应的待解密文件的二进制加密数据的第一位数;设置待解密文件的二进制原始数据的第二位数的数据等于待解密文件的二进制加密数据的第一位数的数据;其中,第二位数根据第一索引、长度、第一数量和第一位数确定。

第三方面,本申请提供了一种文件加密装置,装置包括:获取模块和加密模块。

获取模块用于获取第一时间和待加密文件的二进制数据,第一时间用于指示计算设备获取第一时间时的年、月、日、时、分。

加密模块用于根据二进制数据和第一时间对待加密文件进行加密,得到加密文件。

结合第三方面,在一种可能的实现方式中,加密模块具体用于,根据第一时间确定加密信息,加密信息包括第一索引、第一步长和第一数量,第一索引用于指示第一时间的年、月、日、时、分中任意两个数值相除的余数,第一步长用于指示第一时间的年、月、日、时、分中任意两个数值相乘的结果值,第一数量用于指示第一时间的年、月、日、时、分中任意两个数值之间的差值;以及根据加密信息处理二进制数据,得到加密文件。

结合第三方面,在另一种可能的实现方式中,加密模块具体用于,根据第一索引和第一数量从二进制数据中提取目标加密数据;根据第一步长更新第一索引;根据更新后的第一索引和第一数量从二进制数据中提取第一加密数据;以及根据第一加密数据更新目标加密数据,直至目标加密数据的长度大于等于二进制数据的长度。

结合第三方面,在另一种可能的实现方式中,加密模块还用于,当第一索引大于二进制数据的长度时,将第一索引更新为第一索引与二进制数据的长度比值的余数部分。

结合第三方面,在另一种可能的实现方式中,加密模块还用于,确定二进制数据中更新后的第一索引对应的数据至二进制数据最后一位数据的数据长度;以及当数据长度小于第一数量时,提取二进制数据中更新后的第一索引对应的数据至二进制数据最后一位的数据,并从二进制数据的首位提取第一长度的数据,得到第一加密数据,第一长度为第一数量与数据长度的差值。

结合第三方面,在另一种可能的实现方式中,加密模块还用于,根据第一索引和第一数量确定目标加密数据是否包含二进制数据中的所有数据;若是,停止更新目标加密数据,得到加密文件。

第四方面,本申请提供了一种文件解密装置,装置包括:获取模块和解密模块。

获取模块,用于获取待解密文件的二进制加密数据和解密信息,解密信息包括待解密文件的二进制原始数据的长度、第一索引、第一数量以及第一索引与待解密文件的二进制加密数据位数的对应关系。

解密模块,用于根据解密信息对待解密文件进行解密。

结合第四方面,在一种可能的实现方式中,解密模块,具体用于根据对应关系确定第一索引对应的待解密文件的二进制加密数据的第一位数;设置待解密文件的二进制原始数据的第二位数的数据等于待解密文件的二进制加密数据的第一位数的数据;其中,第二位数根据第一索引、长度、第一数量和第一位数确定。

为了实现上述目的,根据本申请的第五方面,提供了一种计算设备,计算设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器、通过总线完成相互间的通信;处理器用于执行调用存储器中的程序指令,以执行上述第一方面的文件加密方法或上述第二方面的文件解密方法。

为了实现上述目的,根据本申请的第六方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第一方面的文件加密方法或上述第二方面的文件解密方法。

借由上述技术方案,本申请提供的技术方案至少具有下列优点:

本申请通过时间信息对文件进行加密,由于时间信息具有混乱度高的特点,因此可以提高文件加密的可靠性。其次时间信息是用户无法更改的,因此可以避免现有技术中,用户对加密信息进行更改或隐藏,导致无效加密或者加密后的文件无法解密的问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例公开的一种计算设备的结构示意图;

图2是本申请实施例公开的一种文件加密方法的流程示意图;

图3是本申请实施例公开的一种文件加密方法的具体流程示意图;

图4是本申请实施例公开的一种文件解密方法的流程示意图;

图5是本申请实施例公开的一种文件加密装置的结构示意图;

图6是本申请实施例公开的一种文件解密装置的结构示意图。

附图标记说明:

100、计算设备;110、处理器;120、通信线路;130、通信接口;140、存储器;150、输出器件;160、输入器件;170、处理器;500、文件加密装置;510、获取模块;520、加密模块;600、文件解密装置;610、获取模块;620、解密模块。

具体实施方式

下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本申请的原理,但不能用来限制本申请的范围,本申请可以以许多不同的形式实现,不局限于文中公开的特定实施例,而是包括落入权利要求的范围内的所有技术方案。

本申请提供这些实施例是为了使本申请透彻且完整,并且向本领域技术人员充分表达本申请的范围。应注意到:除非另外具体说明,这些实施例中阐述的部件和步骤的相对布置、材料的组分、数字表达式和数值应被解释为仅仅是示例性的,而不是作为限制。

需要说明的是,在本申请的描述中,除非另有说明,“多个”的含义是大于或等于两个;术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

此外,本申请中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的部分。“垂直”并不是严格意义上的垂直,而是在误差允许范围之内。“平行”并不是严格意义上的平行,而是在误差允许范围之内。“包括”或者“包含”等类似的词语意指在该词前的要素涵盖在该词后列举的要素,并不排除也涵盖其他要素的可能。

还需要说明的是,在本申请的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可视具体情况理解上述术语在本申请中的具体含义。当描述到特定器件位于第一器件和第二器件之间时,在该特定器件与第一器件或第二器件之间可以存在居间器件,也可以不存在居间器件。

本申请使用的所有术语与本申请所属领域的普通技术人员理解的含义相同,除非另外特别定义。还应当理解,在诸如通用字典中定义的术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。

如背景技术所述,使用对称加密算法对文件进行加密,使得文件仅可以在本地计算设备上使用,避免其他计算设备对文件的盗用。但是,使用对称加密算法对文件进行加密时,需要获取文件的诸多信息,例如:作者、修订号、版本号等,根据上述信息对文件进行加密。上述文件信息,用户可以根据自身需求进行更改或者隐藏。当用户对文件信息进行隐藏时,对文件加密的过程中,获取到的文件信息即为空值,使用空值处理文件,相当于未对文件进行处理,即未加密,因此是一次无效加密。当用户在对文件加密后更改了文件信息时,在对文件进行解密的过程中,无法获取到加密时使用的文件信息,因此无法对文件进行解密,进而会导致文件不可恢复。

有鉴于此,本申请实施例提供一种文件加密方法,方法包括:获取第一时间和待加密文件的二进制数据,第一时间用于指示计算设备获取第一时间时的年、月、日、时、分;以及根据二进制数据和第一时间对待加密文件进行加密,得到加密文件。本申请通过时间信息对文件进行加密,由于时间信息具有混乱度高的特点,因此可以提高文件加密的可靠性。其次时间信息是用户无法更改的,因此可以避免现有技术中,用户对加密信息进行更改或隐藏,导致无效加密或者加密后的文件无法解密的问题。

本申请实施例还提供一种计算设备,该计算设备可以用于执行上述文件加密方法或文件解密方法。

例如,该计算设备可以是服务器,其可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。又例如,该计算设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(Personal Digital Assistant,PDA)、增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)设备等终端设备。又例如,该计算设备还可以为录像设备、视频监控设备等设备。本申请对该计算设备的具体形态不作特殊限制。

如图1所示,图1为本申请提供的一种计算设备100的硬件结构。

如图1所示,该计算设备100包括处理器110,通信线路120以及通信接口130。

可选的,该计算设备100还可以包括存储器140。其中,处理器110,存储器140以及通信接口130之间可以通过通信线路120连接。

其中,处理器110可以是中央处理器(Central Processing Unit,CPU)、通用处理器网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processing,DSP)、微处理器、微控制器、可编程逻辑器件(Programmable Logic Device,PLD)或它们的任意组合。处理器110还可以是其它任意具有处理功能的装置,例如电路、器件或软件模块,不做限制。

在一种示例中,处理器110可以包括一个或多个CPU,例如图1中的CPU0和CPU1。

作为一种可选的实现方式,计算设备100包括多个处理器,例如,除处理器110之外,还可以包括处理器170。通信线路120,用于在计算设备100所包括的各部件之间传送信息。

通信接口130,用于与其他设备或其它通信网络进行通信。该其它通信网络可以为以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local AreaNetworks,WLAN)等。通信接口130可以是模块、电路、收发器或者任何能够实现通信的装置。

存储器140,用于存储指令。其中,指令可以是计算机程序。

其中,存储器140可以是只读存储器(Read-only Memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是存取存储器(Random Access Memory,RAM)或者可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备等,不予限制。

需要指出的是,存储器140可以独立于处理器110存在,也可以和处理器110集成在一起。存储器140可以用于存储指令或者程序代码或者一些数据等。存储器140可以位于计算设备100内,也可以位于计算设备100外,不做限制。

处理器110,用于执行存储器140中存储的指令,以实现本申请下述实施例提供的通信方法。例如,当计算设备100为终端或者终端中的芯片时,处理器110可以执行存储器140中存储的指令,以实现本申请下述实施例中发送端所执行的步骤。

作为一种可选的实现方式,计算设备100还包括输出器件150和输入器件160。其中,输出器件150可以是显示屏、扬声器等能够将计算设备100的数据输出给用户的器件。输入器件160是可以键盘、鼠标、麦克风或操作杆等能够向计算设备100输入数据的器件。

需要指出的是,图1中示出的结构并不构成对该计算装置的限定,除图1所示部件之外,该计算装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本申请实施例描述的文件加密方法、文件解密方法以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着文件加密方法的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

接下来,结合附图对文件加密方法进行详细说明。图2为本申请提供的一种文件加密方法的流程示意图。图3为本申请提供的一种文件加密方法的具体流程示意图。该方法应用于具有图1所示硬件结构的文件加密方法,具体包括以下步骤:

步骤210、获取第一时间和待加密文件的二进制数据。

在计算机领域中,计算机文件会分为两种类型,即二进制文件和ASCII(AmericanStandard Code for Information Interchange)文件,也称纯文本文件。图形文件及文字处理程序等计算机程序都属于二进制文件,即含有特殊的格式及计算机代码的文件都属于二进制文件。文本文件则是可以用任何文字处理程序阅读的简单文本文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。

从本质上来说,文本文件与二进制文件之间没有区别,因为文本文件与二进制文件在计算设备的硬盘上都以二进制的方式进行存储。文本文件在存储时,基于字符定长进行二进制编码得到该文本文件的二进制数据。而二进制文件是基于变长的字符进行二进制编码,得到二进制文件的二进制数据。由以上可知,文本文件和二进制文件均是以二进制数据的形式存储在计算设备上,计算设备从存储器中获取文本文件或二进制文件时,得到的是一串二进制数据。当需要得到文本文件或二进制文件中的具体内容时,需要对其对应的二进制数据进行译码。因此,本申请的待加密文件可以是文本文件,也可以是二进制文件。本申请基于文本文件或二进制文件在硬盘上的二进制数据进行加密。

另一方面,在加密算法中,加密所使用到的数据越混乱,对文件的加密效果越好,可以避免非该计算设备遵从一些规律对加密后的文件进行解密。

在本申请实施例中,使用第一时间对待加密文件进行加密。第一时间用于指示计算设备获取该第一时间的时刻,即计算设备对待加密文件进行加密的时刻。由于计算设备的时间信息包括很多数据。例如:年、月、日、时、分。在使用第一时间对待加密文件进行加密时,可以只使用第一时间中的年和月,也可以使用年、月、日、时、分。非该计算设备无法获取到该计算设备对待加密文件进行加密的第一时间,且无法判断计算设备对待加密文件进行加密时具体使用的是年、月、日、时、分中的哪一个。因此时间信息具有混乱度高的特点,使用时间信息对文件进行加密可以提高加密文件的可靠性。

步骤220、根据二进制数据和第一时间对待加密文件进行加密,得到加密文件。

首先,根据第一时间确定加密信息。在本申请实施例中,加密信息包括第一索引、第一步长和第一数量。第一索引用于指示第一时间的年、月、日、时、分中任意两个数值相除的余数,第一步长用于指示第一时间的年、月、日、时、分中任意两个数值相乘的结果值,第一数量用于指示第一时间的年、月、日、时、分中任意两个数值之间的差值。

在一种实施方式中,设置第一索引为月和日相除的余数,第一步长为日和时的乘积,第一数量为年和分之间的差值。第一索引也可以是时和分相除的余数,第一步长也可以是日和月的乘积,第一数量也可以是年和月之间的差值。在本申请中,不对第一索引、第一步长和第一数量做具体限定,上述仅作为一种示例,用于解释说明。

进一步的,判断第一索引是否大于待加密文件的二进制数据的长度。若是,表示第一索引超过待加密文件的二进制数据的长度,在待加密文件的二进制数据无法找到第一索引对应的位的数据,因此在第一索引大于待加密文件的二进制数据的长度时,将第一索引更新为第一索引与二进制数据的长度比值的余数部分,根据更新后的第一索引和第一数量从二进制数据中提取出目标加密数据。若否,表示在待加密文件的二进制数据可以找到第一索引对应的位的数据,因此,根据第一索引和第一数量从二进制数据中提取出目标加密数据。

与此同时,将本次提取目标加密数据使用的第一索引和第一数量存放至索引列表中,以供后续判断是否遍历了待加密文件的二进制数据的全部位。

在得到目标加密数据后,根据第一步长更新第一索引,根据更新后的第一索引和第一数量从二进制数据中提取第一加密数据,并根据第一加密数据更新目标加密数据。以此类推,直至待加密文件的二进制数据全部存在于目标加密数据中。此时目标加密数据即为待加密文件根据第一时间加密后的加密文件。

需要说明的是,在用第一索引提取第一加密数据时,还需要确定二进制数据中更新后的第一索引对应的数据至二进制数据最后一位数据的数据长度。当数据长度小于第一数量时,表示此时从二进制数据的第一索引位开始不具有第一数量位数据,因此提取二进制数据中更新后的第一索引对应的数据至二进制数据最后一位的数据,并从二进制数据的首位提取第一长度的数据,得到第一加密数据,第一长度为第一数量与数据长度的差值。

下面以待加密文件在计算设备上的二进制数据为10101100111000,第一索引为1,第一步长为2,第一数量为3为例对本申请的加密过程进行解释说明。

由于二进制中数据首位对应的索引为0,因此当第一索引为1,第一数量为3时,提取的目标加密数据为010。由于第一步长是2,更新后的第一索引为3,第一数量还是3,提取的第一加密数据为011。进一步的,更新后的第一索引为5,第一数量还是3,提取的第一加密数据为100。以此类推,将所有的第一加密数据和目标加密数据进行组合,最后得到的目标加密数据为010011100011110000010。待加密文件经过上述加密过程后,以010011100011110000010存储在计算设备中。

本申请通过时间信息对文件进行加密,由于时间信息具有混乱度高的特点,因此可以提高文件加密的可靠性。其次时间信息是用户无法更改的,因此可以避免现有技术中,用户对加密信息进行更改或隐藏,导致无效加密或者加密后的文件无法解密的问题。

接下来,结合附图对文件加密方法进行详细说明。图4为本申请提供的一种文件加密方法的流程示意图。该方法应用于具有图1所示硬件结构的文件加密方法,具体包括以下步骤:

步骤410、获取待解密文件的二进制加密数据和解密信息。

由于本申请用于控制文件仅可以在本地使用,即文件仅可以在一个计算设备上使用。因此计算设备采用步骤210-步骤220对文件进行加密时,计算设备会存储第一索引与待解密文件的二进制加密数据位数的对应关系。

举例来说,计算设备对待加密文件的二进制数据进行第一次提取时,即提取目标加密数据时,第一索引为1,此时会将提取到的目标加密数据从第0位开始放置,那么此时存储第一索引1和位数0的对应关系。

除此之外,由于是在同一个计算设备上进行加密和解密。因此在对文件进行解密时,计算设备可以从自身获取文件的二进制加密数据、第一索引、第一数量和第一索引与待解密文件的二进制加密数据位数的对应关系。上述信息均是该计算设备对该文件进行加密时产生并存储的。不具备上述解密信息的计算设备则不能对加密后的文件进行解密。

步骤420、根据解密信息对待解密文件进行解密。

由于计算设备对文件的原始二进制数据进行加密时,是按照一定规则遍历了文件的原始二进制数据后得到目标加密数据的,因此目标加密数据(待解密文件的二进制加密数据)与文件的原始二进制数据的位数存在一定的对应关系。根据该对应关系即可对待解密文件的二进制加密数据进行解密,得到文件的原始二进制数据。

在一种实施方式中,待解密文件的二进制原始数据的第二位数的数据等于待解密文件的二进制加密数据的第一位数的数据。第二位数根据第一索引、长度、第一数量和第一位数确定。举例来说,第二位数等于第一索引与待解密文件的二进制原始数据的长度比值的余数部分加上第一位数与第一数量比值的余数部分。

综上,本申请通过时间信息对文件进行加密,由于时间信息具有混乱度高的特点,因此可以提高文件加密的可靠性。其次时间信息是用户无法更改的,因此可以避免现有技术中,用户对加密信息进行更改或隐藏,导致无效加密或者加密后的文件无法解密的问题。

可以理解的是,为了实现上述实施例中功能,计算机设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。

进一步的,作为对上述图2所示方法实施例的实现,本申请实施例提供了一种文件加密装置。该装置的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。具体如图5所示,文件加密装置500包括:获取模块510和加密模块520。

获取模块510用于获取第一时间和待加密文件的二进制数据,第一时间用于指示计算设备获取第一时间时的年、月、日、时、分。

加密模块520用于根据二进制数据和第一时间对待加密文件进行加密,得到加密文件。

进一步的,如图5所示,加密模块520具体用于,根据第一时间确定加密信息,加密信息包括第一索引、第一步长和第一数量,第一索引用于指示第一时间的年、月、日、时、分中任意两个数值相除的余数,第一步长用于指示第一时间的年、月、日、时、分中任意两个数值相乘的结果值,第一数量用于指示第一时间的年、月、日、时、分中任意两个数值之间的差值;以及根据加密信息处理二进制数据,得到加密文件。

进一步的,如图5所示,加密模块520具体用于,根据第一索引和第一数量从二进制数据中提取目标加密数据;根据第一步长更新第一索引;根据更新后的第一索引和第一数量从二进制数据中提取第一加密数据;以及根据第一加密数据更新目标加密数据,直至目标加密数据的长度大于等于二进制数据的长度。

进一步的,如图5所示,加密模块520还用于,当第一索引大于二进制数据的长度时,将第一索引更新为第一索引与二进制数据的长度比值的余数部分。

进一步的,如图5所示,加密模块520还用于,确定二进制数据中更新后的第一索引对应的数据至二进制数据最后一位数据的数据长度;以及当数据长度小于第一数量时,提取二进制数据中更新后的第一索引对应的数据至二进制数据最后一位的数据,并从二进制数据的首位提取第一长度的数据,得到第一加密数据,第一长度为第一数量与数据长度的差值。

进一步的,如图5所示,加密模块520还用于,根据第一索引和第一数量确定目标加密数据是否包含二进制数据中的所有数据;若是,停止更新目标加密数据,得到加密文件。

进一步的,作为对上述图4所示方法实施例的实现,本申请实施例提供了一种文件解密装置。该装置的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。具体如图6所示,文件解密装置600包括:获取模块610和解密模块620。

获取模块610,用于获取待解密文件的二进制加密数据和解密信息,解密信息包括待解密文件的二进制原始数据的长度、第一索引、第一数量以及第一索引与待解密文件的二进制加密数据位数的对应关系。

解密模块620,用于根据解密信息对待解密文件进行解密。

进一步的,如图6所示,解密模块620,具体用于根据对应关系确定第一索引对应的待解密文件的二进制加密数据的第一位数;设置待解密文件的二进制原始数据的第二位数的数据等于待解密文件的二进制加密数据的第一位数的数据;其中,第二位数根据第一索引、长度、第一数量和第一位数确定。

本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述文件加密方法。

本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述文件解密方法。

本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述文件加密方法。

本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述文件解密方法。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取第一时间和待加密文件的二进制数据,第一时间用于指示计算设备获取第一时间时的年、月、日、时、分;以及根据二进制数据和第一时间对待加密文件进行加密,得到加密文件。

进一步的,根据第一时间确定加密信息,加密信息包括第一索引、第一步长和第一数量,第一索引用于指示第一时间的年、月、日、时、分中任意两个数值相除的余数,第一步长用于指示第一时间的年、月、日、时、分中任意两个数值相乘的结果值,第一数量用于指示第一时间的年、月、日、时、分中任意两个数值之间的差值;以及根据加密信息处理二进制数据,得到加密文件。

进一步的,根据第一索引和第一数量从二进制数据中提取目标加密数据;根据第一步长更新第一索引;根据更新后的第一索引和第一数量从二进制数据中提取第一加密数据;以及根据第一加密数据更新目标加密数据,直至目标加密数据的长度大于等于二进制数据的长度。

进一步的,当第一索引大于二进制数据的长度时,将第一索引更新为第一索引与二进制数据的长度比值的余数部分。

进一步的,确定二进制数据中更新后的第一索引对应的数据至二进制数据最后一位数据的数据长度;以及当数据长度小于第一数量时,提取二进制数据中更新后的第一索引对应的数据至二进制数据最后一位的数据,并从二进制数据的首位提取第一长度的数据,得到第一加密数据,第一长度为第一数量与数据长度的差值。

进一步的,根据第一索引和第一数量确定目标加密数据是否包含二进制数据中的所有数据;若是,停止更新目标加密数据,得到加密文件。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取待解密文件的二进制加密数据和解密信息,解密信息包括待解密文件的二进制原始数据的长度、第一索引、第一数量以及第一索引与待解密文件的二进制加密数据位数的对应关系;以及根据解密信息对待解密文件进行解密。

进一步的,根据对应关系确定第一索引对应的待解密文件的二进制加密数据的第一位数;设置待解密文件的二进制原始数据的第二位数的数据等于待解密文件的二进制加密数据的第一位数的数据;其中,第二位数根据第一索引、长度、第一数量和第一位数确定。

本申请是参照根据本申请实施例的方法、设备(方法)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、方法或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

至此,已经详细描述了本申请的各实施例。为了避免遮蔽本申请的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

虽然已经通过示例对本申请的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本申请的范围。本领域的技术人员应该理解,可在不脱离本申请的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来。

相关技术
  • 新能源汽车电池组包裹用的缓冲胶带
  • 一种防火耐高温的新能源汽车电池组捆扎专用胶带
技术分类

06120116569289