CN113642033A - 加密方法、解密方法、装置、设备及存储介质 - Google Patents
加密方法、解密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113642033A CN113642033A CN202111212783.6A CN202111212783A CN113642033A CN 113642033 A CN113642033 A CN 113642033A CN 202111212783 A CN202111212783 A CN 202111212783A CN 113642033 A CN113642033 A CN 113642033A
- Authority
- CN
- China
- Prior art keywords
- file
- encrypted
- password
- files
- divided
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种加密方法、解密方法、装置、设备及存储介质,所述加密方法包括:对待加密文件进行分割,获得多个分割文件;根据预设的密码获取规则,分别获取多个分割文件的密码;不同分割文件对应的密码不同;分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;将各加密文件以及加密密码发送至接收方。本申请实施例提供的技术方案可以提高对文件传输的安全性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种加密方法、解密方法、装置、设备及存储介质。
背景技术
在人们的日常生活以及工作中,经常需要利用网络进行文件传输,而文件传输时的安全性是非常重要的,尤其是对于机密文件的传输。为了保证文件传输的安全性,通常是利用文件加密技术对需要传输的文件进行加密,再将加密后的文件进行传输。
但随着网络环境越来越复杂,窃取泄密事件屡有发生。例如,现有文件加密技术对文件进行加密时,通常是将文件压缩后,对压缩包采用由公开的对称加密算法生成的密码进行加密。对应地,在对文件进行解密时,需要通过加密时生成的密码进行解密,而密码需要由加密方通过网络发送给解密方,在发送密码的过程中就可能会出现泄密的情况。
因而,采用上述加密方法导致文件传输的安全性低。
发明内容
基于此,本申请实施例提供了一种加密方法、解密方法、装置、设备及存储介质,可以提高对文件传输的安全性。
第一方面,提供了一种加密方法,该方法包括:
对待加密文件进行分割,获得多个分割文件;根据预设的密码获取规则,分别获取多个分割文件的密码;不同分割文件对应的密码不同;分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;将各加密文件以及加密密码发送至接收方。
在其中一个实施例中,根据预设的密码获取规则,分别获取多个分割文件的密码,包括:
针对每个分割文件,根据密码获取规则在分割文件的文件名中提取分割文件对应的密码;不同分割文件对应的密码获取规则不同。
在其中一个实施例中,根据密码获取规则在分割文件的文件名中提取分割文件对应的密码,包括:
根据密码获取规则,在分割文件的文件名中提取第一预设长度的第一字节;密码获取规则中包括第一字节的各个字节在文件名中的位置;根据分割文件的后缀名获取第二预设长度的第二字节;将第一字节与第二字节合并,获得分割文件对应的密码。
在其中一个实施例中,将各加密文件以及加密密码发送至接收方,包括:
将各加密文件以及加密密码进行拼接,获得目标加密文件;采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的参考哈希值;将目标加密文件以及参考哈希值发送至接收方;参考哈希值用于接收方对目标加密文件进行验证。
在其中一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同。
第二方面,提供了一种解密方法,该方法包括:
接收发送方发送的各个加密文件以及加密密码;加密文件为发送方采用密码对分割文件进行加密获得的;加密密码为发送方采用接收方公钥对密码进行加密获得的;分割文件为发送方对待加密文件进行分割获得的;密码为发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同;根据加密密码对各加密文件进行解密,获得解密文件。
在其中一个实施例中,根据加密密码对各加密文件进行解密,获得解密文件,包括:
采用接收方私钥对加密密码进行解密,获得各加密文件的密码;采用密码对各加密文件进行解密,获得各加密文件对应的分割文件;将各分割文件进行合并,获得解密文件。
在其中一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同;将各分割文件进行合并,获得解密文件,包括:
按照预设的特征码排列顺序,对各特征码对应的分割文件进行排序;将排序后的分割文件进行合并,获得解密文件。
在其中一个实施例中,接收发送方发送的各个加密文件以及加密密码,包括:
接收发送方发送的目标加密文件以及目标加密文件对应的参考哈希值;目标加密文件为接收方将各加密文件以及加密密码进行拼接获得的;
相应地,该方法还包括:
采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的验证哈希值;在验证哈希值与参考哈希值相同的情况下,确定目标加密文件未损坏。
第三方面,提供了一种加密装置,该装置包括:
分割模块,用于对待加密文件进行分割,获得多个分割文件;
获取模块,用于根据预设的密码获取规则,分别获取多个分割文件的密码;不同分割文件对应的密码不同;
加密模块,用于分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;
发送模块,用于将各加密文件以及加密密码发送至接收方。
第四方面,提供了一种解密装置,该装置包括:
接收模块,用于接收发送方发送的各个加密文件以及加密密码;加密文件为发送方采用密码对分割文件进行加密获得的;加密密码为发送方采用接收方公钥进行加密获得的;分割文件为发送方对待加密文件进行分割获得的;密码为发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同;
解密模块,用于根据加密密码对各加密文件进行解密,获得解密文件。
第五方面,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述第一方面和第二方面任一实施例中的方法步骤。
第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面和第二方面任一实施例中的方法步骤。
上述加密方法、解密方法、装置、设备及存储介质,通过对待加密文件进行分割,获得多个分割文件;根据预设的密码获取规则,分别获取多个分割文件的密码;分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;将各加密文件以及加密密码发送至接收方。在本申请实施例提供的技术方案中,通过对分割文件加密时所需的密码也进行加密,避免了将密码以明文的形式通过网络传输给解密方时出现的泄密情况,从而提高了文件传输的安全性;并且,由于不同分割文件对应的密码不同,通过不同的密码对对应的分割文件进行加密,进一步提高了文件传输的安全性。
附图说明
图1为本申请实施例提供的一种计算机设备的框图;
图2为本申请实施例提供的一种加密方法的流程图;
图3为本申请实施例提供的一种提取分割文件对应的密码的流程图;
图4为本申请实施例提供的一种对待加密文件进行分割的示意图;
图5为本申请实施例提供的一种对目标加密文件进行处理的流程图;
图6为本申请实施例提供的一种加密文件与加密密码拼接的示意图;
图7为本申请实施例提供的一种解密方法的流程图;
图8为本申请实施例提供的一种拆分目标加密文件的示意图;
图9为本申请实施例提供的一种对加密文件进行解密的流程图;
图10为本申请实施例提供的一种获得解密文件的流程图;
图11为本申请实施例提供的一种加密装置的框图;
图12为本申请实施例提供的一种解密装置的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的加密方法、解密方法可以应用于计算机设备中,计算机设备可以是服务器,也可以是终端,其中,服务器可以为一台服务器也可以为由多台服务器组成的服务器集群,本申请实施例对此不作具体限定,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
以计算机设备是服务器为例,图1示出了一种服务器的框图,如图1所示,服务器可以包括通过系统总线连接的处理器和存储器。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序以及数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种加密方法、解密方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,可选地服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
需要说明的是,本申请实施例的执行主体可以是计算机设备,也可以是加密装置、解密装置,下述方法实施例中就以计算机设备为执行主体进行说明。
在一个实施例中,如图2所示,其示出了本申请实施例提供的一种加密方法的流程图,该方法可以包括以下步骤:
步骤220、对待加密文件进行分割,获得多个分割文件。
其中,待加密文件即为待传输的文件,待加密文件的文件大小不同,为了保证待加密文件的读取效率以及加密效率,可以先对待加密文件进行文件分割。在进行文件分割的时候,可以通过文件分割工具将待加密文件以预设字节大小进行分割,从而得到多个分割文件。并且,可以从待加密文件头部开始分割,也可以从待加密文件尾部开始分割。文件分割工具可以是Filesplit文件分割器,当然也可以是其他文件分割工具,本申请实施例对此不作具体限定。待加密文件可以是一个,也可以是多个。若待加密文件有多个,那么针对每个待加密文件分别进行分割即可,那么每个待加密文件都有对应的分割文件。
在以预设字节大小分割待加密文件时,可以根据人工经验设置固定的预设字节大小,也可以是根据实际需求设置不同的字节大小,还可以根据其他方式设定预设字节大小。若以固定预设字节大小对待加密文件进行分割时,得到的每个分割文件的大小可以是完全相同,也可以是除了最后一个分割文件外的分割文件的大小完全相同,例如,固定预设字节大小为1G,在划分最后一个分割文件时,分割文件的大小不足1G的情况。若以不同的字节大小对待加密文件进行分割时,就可以得到文件大小不同的多个分割文件。
步骤240、根据预设的密码获取规则,分别获取多个分割文件的密码;不同分割文件对应的密码不同。
其中,预设的密码获取规则是用于生成对分割文件进行加密的密码时所采用的规则,预设的密码获取规则可以是随机生成密码的方式,也可以是根据分割文件生成密码的方式,还可以是其他密码获取规则,本实施例对此不做具体限定。在根据预设的密码获取规则获取密码时,可以针对不同的分割文件获取不同的密码,从而获取到与分割文件一一对应的密码,例如,可以针对不同的分割文件随机生成一个密码。
步骤260、分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码。
其中,获取到多个分割文件对应的密码后,可以根据获取到的密码对对应的分割文件进行对称加密,从而获得分割文件对应的加密文件,并且,可以采用多线程的方式同时对多个分割文件进行加密,确保整个加密过程不会耗时过长。在对分割文件进行对称加密时,可以采用预设的对称加密算法实现,预设的对称加密算法可以是DES算法、3DES算法、AES算法、SM4算法等,当然也可以是其他对称加密算法。可以根据实际加密需求确定对应的对称加密算法,例如可以根据待加密文件的保密等级确定对称加密算法。
并且,在获取到多个分割文件的密码后,可以对各密码进行加密。在对各密码进行加密时,可以通过向接收方发送获取公钥请求,从而在接收到接收方发送的公钥后,通过接收方公钥对密码进行加密,从而获得各分割文件对应的加密密码。在通过接收方公钥对密码进行加密时,可以采用预设的非对称加密算法实现,预设的非对称加密算法可以是RSA算法、DSA算法、SM2算法等,也可以根据实际需求确定对应的非对称加密算法。本实施例对对称加密算法以及非对称加密算法的类别不做具体限定。
步骤280、将各加密文件以及加密密码发送至接收方。
其中,通过密码对对应的分割文件进行加密后得到各加密文件,对各密码加密后得到加密密码,从而就可以将各加密文件以及加密密码发送至接收方。在向接收方发送各加密文件时,可以是直接将各加密文件发送,也可以是对各加密文件进行处理后再发送,本实施例对此不作具体限定。
本实施例中,通过对待加密文件进行分割,获得多个分割文件;根据预设的密码获取规则,分别获取多个分割文件的密码;分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;将各加密文件以及加密密码发送至接收方。通过对分割文件加密时所需的密码也进行加密,避免了将密码以明文的形式通过网络传输给解密方时出现的泄密情况,从而提高了文件传输的安全性;并且,由于不同分割文件对应的密码不同,通过不同的密码对对应的分割文件进行加密,进一步提高了文件传输的安全性。
在一个实施例中,在根据预设的密码获取规则,分别获取多个分割文件的密码时,可选地,可以针对每个分割文件,根据密码获取规则在分割文件的文件名中提取分割文件对应的密码;不同分割文件对应的密码获取规则不同。
其中,在获取到各分割文件后,每个分割文件都有对应的文件名,分割文件的文件名可以通过待加密文件确定。每个分割文件的文件名不能相同,为了区分不同的分割文件,可以在待加密文件的文件名的基础上添加随机码,随机码的字节值可以根据实际需求确定。从而,预设的密码获取规则可以是根据分割文件的文件名生成密码的方式,那么就可以根据密码获取规则在分割文件的文件名中提取分割文件对应的密码。
在分割文件的文件名中提取密码时,可以根据文件名的字节值提取对应的字节作为密码,也可以是对文件名的字节进行处理后生成对应的密码,还可以是根据其他方式从分割文件的文件名中提取出分割文件对应的密码,本实施例对此不作具体限定。
在从分割文件的文件名中提取分割文件对应的密码时,可选地,如图3所示,其示出了本申请实施例提供的一种提取分割文件对应的密码的流程图,该方法可以包括以下步骤:
步骤320、根据密码获取规则,在分割文件的文件名中提取第一预设长度的第一字节;密码获取规则中包括第一字节的各个字节在文件名中的位置。
其中,每个分割文件不仅包括文件名,还包括对应的后缀名,分割文件的后缀名可以是根据待加密文件的后缀名确定的,也可以是自定义的。第一字节是从分割文件的文件名中提取的字节,第二字节是从分割文件的后缀名中提取的字节,并且,第一字节的第一预设长度、及第二字节的第二预设长度可以是自定义值,但该自定义值需要满足所采用的对称加密算法的要求。
以第一预设长度为12个字节,第二预设长度为4字节为例进行说明,在从分割文件的文件名中提取第一预设长度的第一字节时,密码获取规则中包括第一字节的各个字节在文件名中的位置。可选地,可以是以首项为0,公差为n+1的等差数列确定第一字节的各个字节在文件名中的位置,例如,对于0号文件,直接提取文件名的前12个字节作为0号文件的第一字节;对于1号文件,提取文件名中的第0、2、4、6......等共12个字节作为1号文件的第一字节;对于2号文件,提取文件名中的第0、3、6、9......等共12个字节作为2号文件的第一字节;以此类推,在此不一一举例说明。
在分割文件的文件名的字节值不足12的情况下,可以根据预设的第一补足规则补足12个字节,预设的第一补足规则可以是按照数字0-9顺序补足字节,也可以是按照字母表a-z顺序补足字节,当然也可以是其他预设的第一补足规则,本实施例对此不作具体限定。以预设的第一补足规则是按照字母表a-z顺序补足字节为例进行说明,若需要补足4个字节,那么也可以按照以首项为0,公差为n+1的等差数列确定补足字节的各个字节在字母表a-z中的位置。例如,对于0号文件,直接提取字母表a-z中的前4个字节,即abcd补足0号文件的第一字节;对于1号文件,提取字母表a-z中的第0、2、4、6个字节,即aceg补足1号文件的第一字节;对于2号文件,提取字母表a-z中的第0、3、6、9个字节,即adgj补足2号文件的第一字节;以此类推,在此不一一举例说明。
步骤340、根据分割文件的后缀名获取第二预设长度的第二字节。
其中,在从分割文件的后缀名中提取第二预设长度的第二字节时,直接从文件后缀名中按顺序提取4个字节作为第二字节。若后缀名的字节值超过4,则提取前4个字节;若后缀名的字节值不足4,则可以根据预设的第二补足规则补足4个字节,预设的第二补足规则可以是通过数字、字母等形式在后缀名的字节右侧补足4个字节;也可以是通过数字、字母等形式在后缀名的字节左侧补足4个字节;当然也可以是通过其他形式在字节中的左侧、右侧、或是任意位置补足4个字节,本实施例对此不作具体限定。
步骤360、将第一字节与第二字节合并,获得分割文件对应的密码。
其中,为了区分各分割文件的密码,并使分割文件对应的密码有序排列,可选地,分割文件中可以包括特征码,不同分割文件对应的特征码不同。该特征码可以是自定义的,例如,特征码可以为T、P、J、K、1、2、......、N-4,其中,N表示第N个分割文件。可以将一个特征码加入到对应的分割文件中作为头字节,例如,对第一个分割文件加头字节T,对第二个分割文件加头字节P,对第三个分割文件加头字节J,对第四个分割文件加头字节K,第五个分割文件加头字节1,第六个分割文件加头字节2,......,第N个文件加头字节N-4,如图4所示,图4为本申请实施例提供的一种对待加密文件进行分割的示意图。从而,在提取分割文件对应的第一字节与第二字节时,可以按照特征码的顺序依次在不同分割文件中提取。在提取出第一字节和第二字节后,可以将第一字节与第二字节合并,获得分割文件对应的密码,合并后的密码的字节值为第一预设长度与第二预设长度之和。
本实施例中,通过根据密码获取规则,在分割文件的文件名中提取第一预设长度的第一字节;并根据分割文件的后缀名获取第二预设长度的第二字节;将第一字节与第二字节合并,获得分割文件对应的密码。由于根据分割文件的文件名与后缀名生成对应的密码,不仅能够有效的生成与分割文件对应的密码,还提高了生成密码的效率。
在一个实施例中,如图5所示,其示出了本申请实施例提供的一种对目标加密文件进行处理的流程图,该方法可以包括以下步骤:
步骤520、将各加密文件以及加密密码进行拼接,获得目标加密文件。
步骤540、采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的参考哈希值。
步骤560、将目标加密文件以及参考哈希值发送至接收方;参考哈希值用于接收方对目标加密文件进行验证。
其中,在将各加密文件以及加密密码发送至接收方时,可以采用文件合并工具先将各加密文件以及加密密码进行拼接,从而合并为目标加密文件。在进行拼接时,可以在各加密文件以及加密密码的拼接处加入分隔符0x0F、0x0F、0x0F。由于将各加密文件以及对应的加密密码进行拼接后,会形成多个拼接文件,可以直接将这多个拼接文件作为目标加密文件,也可以将多个拼接文件打包为一个文件后作为目标加密文件。如图6所示,图6为本申请实施例提供的一种加密文件与加密密码拼接的示意图。
得到目标加密文件后,可以通过预设哈希算法对目标加密文件进行处理,获得目标加密文件的参考哈希值,参考哈希值用于接收方对目标加密文件进行验证。预设哈希算法可以是MD5算法、SM3算法等,也可以是其他哈希算法,预设哈希算法也称作预设杂凑算法、预设散列算法。最终可以将目标加密文件以及参考哈希值发送至接收方,接收方可以根据参考哈希值对目标加密文件进行验证。
本实施例中,通过将各加密文件以及加密密码进行拼接,获得目标加密文件;采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的参考哈希值;将目标加密文件以及参考哈希值发送至接收方;参考哈希值用于接收方对目标加密文件进行验证。通过参考哈希值可以使接收方验证目标加密文件在传输的过程中是否被篡改,从而进一步提高了目标加密文件传输的安全性。
在一个实施例中,如图7所示,其示出了本申请实施例提供的一种解密方法的流程图,该方法可以包括以下步骤:
步骤720、接收发送方发送的各个加密文件以及加密密码;加密文件为发送方采用密码对分割文件进行加密获得的;加密密码为发送方采用接收方公钥对密码进行加密获得的;分割文件为发送方对待加密文件进行分割获得的;密码为发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同。
步骤740、根据加密密码对各加密文件进行解密,获得解密文件。
其中,接收方在接收到发送方发送的各个加密文件以及加密密码后,可以根据加密密码对对应的加密文件进行解密。由于发送方可以将各个加密文件以及加密密码分开发送,也可以合并成目标加密文件发送,因而,加密文件可以是直接接收发送方发送过来的,也可以是通过解包发送方发送的目标加密文件后获取到的。
若发送方是将加密文件以及加密密码合并成目标加密文件发送的,在根据加密密码进行解密时,可以先对目标加密文件进行拆分。并且,由于目标加密文件可以是一个,也可以是多个。若目标加密文件有多个,那么可以针对每个目标加密文件分别进行拆分,从而得到每个目标加密文件对应的加密文件以及加密密码。可选地,可以根据目标加密文件的字节头,按照特征码(T、P、J、K、1、2、......、N-4)的顺序依次拆分加密文件与加密密码。可以通过从目标加密文件的文件尾检索分隔符0x0F、0x0F、0x0F,从而拆分出加密文件以及加密密码,还可以对拆分出的加密文件以及加密密码采用相同的文件名进行命名,例如可以采用原文件名与序号的形式作为文件名,后缀名可以采用不同的形式,例如拆分出的加密文件的后缀名可以为data,加密密码的文件名可以为key,如图8所示,图8为本申请实施例提供的一种拆分目标加密文件的示意图。
本实施例提供的解密方法的实现原理和有益效果,可以参见上文中对于加密方法各实施例的限定,在此不再赘述。
在一个实施例中,如图9所示,其示出了本申请实施例提供的一种对加密文件进行解密的流程图,该方法可以包括以下步骤:
步骤920、采用接收方私钥对加密密码进行解密,获得各加密文件的密码。
步骤940、采用密码对各加密文件进行解密,获得各加密文件对应的分割文件。
步骤960、将各分割文件进行合并,获得解密文件。
其中,接收方在获取到加密密码后,由于加密密码是采用接收方的公钥加密的,因而,接收方就可以采用自己的私钥对加密密码进行解密,从而获取到每个加密文件对应的密码,其中,接收方的公私钥对可以通过预设的非对称加密算法生成。由于解密出来的分割文件中包括特征码,不同分割文件对应的特征码不同,在获取解密文件时,可选地,如图10所示,其示出了本申请实施例提供的一种获得解密文件的流程图,该方法可以包括以下步骤:
步骤1020、按照预设的特征码排列顺序,对各特征码对应的分割文件进行排序。
步骤1040、将排序后的分割文件进行合并,获得解密文件。
其中,通过检索分割文件的字节头,按照预设的特征码的顺序,对各特征码对应的分割文件进行排序。由于分割文件的特征码为T、P、J、K、1、2、......、N-4,预设的特征码的顺序可以是当前顺序,也可以自定义,例如N-4、N-3、......、K、J、P、T,当然也可以是其他预设的特征码顺序,需要说明的是,这里的预设特征码的顺序需要与前面加密方法中添加特征码的顺序一致,这样才能保证还原出待加密文件。进而,通过将排序后的分割文件进行合并后,获得解密文件,即相对于加密方而言的待加密文件。
本实施例提供的解密方法的实现原理和有益效果,可以参见上文中对于加密方法各实施例的限定,在此不再赘述。
在一个实施例中,接收发送方发送的各个加密文件以及加密密码,包括:接收发送方发送的目标加密文件以及目标加密文件对应的参考哈希值;目标加密文件为接收方将各加密文件以及加密密码进行拼接获得的;相应地,在接收到目标加密文件以及目标加密文件对应的参考哈希值的情况下,方法还包括:采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的验证哈希值;在验证哈希值与参考哈希值相同的情况下,确定目标加密文件未损坏。
其中,在发送方是将加密文件以及加密密码合并成目标加密文件发送的情况下,接收方还会接收到发送方发送的目标加密文件的参考哈希值。接收方可以通过预设的哈希算法对接收到的目标加密文件进行哈希运算,从而得到目标加密文件对应的验证哈希值,从而将验证哈希值与接收到的参考哈希值进行比较,在验证哈希值与参考哈希值相同的情况下,确定目标加密文件未损坏。
本实施例提供的解密方法的实现原理和有益效果,可以参见上文中对于加密方法各实施例的限定,在此不再赘述。
应该理解的是,虽然图2-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
请参考图11,其示出了本申请实施例提供的一种加密装置1100的框图。如图11所示,该加密装置1100可以包括:分割模块1102、获取模块1104、加密模块1106和发送模块1108,其中:
分割模块1102,用于对待加密文件进行分割,获得多个分割文件;
获取模块1104,用于根据预设的密码获取规则,分别获取多个分割文件的密码;不同分割文件对应的密码不同;
加密模块1106,用于分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;
发送模块1108,用于将各加密文件以及加密密码发送至接收方。
在一个实施例中,上述获取模块1104包括提取单元,提取单元用于针对每个分割文件,根据密码获取规则在分割文件的文件名中提取分割文件对应的密码;不同分割文件对应的密码获取规则不同。
在一个实施例中,上述提取单元具体用于根据密码获取规则,在分割文件的文件名中提取第一预设长度的第一字节;密码获取规则中包括第一字节的各个字节在文件名中的位置;根据分割文件的后缀名获取第二预设长度的第二字节;将第一字节与第二字节合并,获得分割文件对应的密码。
在一个实施例中,上述发送模块1108包括拼接单元、处理单元和发送单元,其中,拼接单元用于将各加密文件以及加密密码进行拼接,获得目标加密文件;处理单元用于采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的参考哈希值;发送单元用于将目标加密文件以及参考哈希值发送至接收方;参考哈希值用于接收方对目标加密文件进行验证。
在一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同。
关于加密装置的具体限定可以参见上文中对于加密方法的限定,在此不再赘述。上述加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块的操作。
请参考图12,其示出了本申请实施例提供的一种解密装置1200的框图。如图12所示,该解密装置1200可以包括:接收模块1202和解密模块1204,其中:
接收模块1202,用于接收发送方发送的各个加密文件以及加密密码;加密文件为发送方采用密码对分割文件进行加密获得的;加密密码为发送方采用接收方公钥进行加密获得的;分割文件为发送方对待加密文件进行分割获得的;密码为发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同;
解密模块1204,用于根据加密密码对各加密文件进行解密,获得解密文件。
在一个实施例中,上述解密模块1204包括第一解密单元、第二加密单元和合并单元,其中,第一解密单元用于采用接收方私钥对加密密码进行解密,获得各加密文件的密码;第二解密单元用于采用密码对各加密文件进行解密,获得各加密文件对应的分割文件;合并单元用于将各分割文件进行合并,获得解密文件。
在一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同;上述合并单元具体用于按照预设的特征码排列顺序,对各特征码对应的分割文件进行排序;将排序后的分割文件进行合并,获得解密文件。
在一个实施例中,接收模块1202包括接收单元,接收单元用于接收发送方发送的目标加密文件以及目标加密文件对应的参考哈希值;目标加密文件为接收方将各加密文件以及加密密码进行拼接获得的;
相应地,上述解密装置1200还包括处理模块1206和确定模块1208,其中:
处理模块1206,用于采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的验证哈希值;
确定模块1208,用于在验证哈希值与参考哈希值相同的情况下,确定目标加密文件未损坏。
关于解密装置的具体限定可以参见上文中对于解密方法的限定,在此不再赘述。上述解密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块的操作。
在本申请的一个实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
对待加密文件进行分割,获得多个分割文件;根据预设的密码获取规则,分别获取多个分割文件的密码;不同分割文件对应的密码不同;分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;将各加密文件以及加密密码发送至接收方。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
针对每个分割文件,根据密码获取规则在分割文件的文件名中提取分割文件对应的密码;不同分割文件对应的密码获取规则不同。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据密码获取规则,在分割文件的文件名中提取第一预设长度的第一字节;密码获取规则中包括第一字节的各个字节在文件名中的位置;根据分割文件的后缀名获取第二预设长度的第二字节;将第一字节与第二字节合并,获得分割文件对应的密码。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
将各加密文件以及加密密码进行拼接,获得目标加密文件;采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的参考哈希值;将目标加密文件以及参考哈希值发送至接收方;参考哈希值用于接收方对目标加密文件进行验证。
在本申请的一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收发送方发送的各个加密文件以及加密密码;加密文件为发送方采用密码对分割文件进行加密获得的;加密密码为发送方采用接收方公钥对密码进行加密获得的;分割文件为发送方对待加密文件进行分割获得的;密码为发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同;根据加密密码对各加密文件进行解密,获得解密文件。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
采用接收方私钥对加密密码进行解密,获得各加密文件的密码;采用密码对各加密文件进行解密,获得各加密文件对应的分割文件;将各分割文件进行合并,获得解密文件。
在本申请的一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同;
处理器执行计算机程序时还实现以下步骤:
按照预设的特征码排列顺序,对各特征码对应的分割文件进行排序;将排序后的分割文件进行合并,获得解密文件。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收发送方发送的目标加密文件以及目标加密文件对应的参考哈希值;目标加密文件为接收方将各加密文件以及加密密码进行拼接获得的;
采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的验证哈希值;在验证哈希值与参考哈希值相同的情况下,确定目标加密文件未损坏。
本申请实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在本申请的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
对待加密文件进行分割,获得多个分割文件;根据预设的密码获取规则,分别获取多个分割文件的密码;不同分割文件对应的密码不同;分别采用密码对对应的分割文件进行加密,获得分割文件对应的加密文件;并采用接收方公钥对密码进行加密,获得各分割文件对应的加密密码;将各加密文件以及加密密码发送至接收方。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
针对每个分割文件,根据密码获取规则在分割文件的文件名中提取分割文件对应的密码;不同分割文件对应的密码获取规则不同。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据密码获取规则,在分割文件的文件名中提取第一预设长度的第一字节;密码获取规则中包括第一字节的各个字节在文件名中的位置;根据分割文件的后缀名获取第二预设长度的第二字节;将第一字节与第二字节合并,获得分割文件对应的密码。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将各加密文件以及加密密码进行拼接,获得目标加密文件;采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的参考哈希值;将目标加密文件以及参考哈希值发送至接收方;参考哈希值用于接收方对目标加密文件进行验证。
在本申请的一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收发送方发送的各个加密文件以及加密密码;加密文件为发送方采用密码对分割文件进行加密获得的;加密密码为发送方采用接收方公钥对密码进行加密获得的;分割文件为发送方对待加密文件进行分割获得的;密码为发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同;根据加密密码对各加密文件进行解密,获得解密文件。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
采用接收方私钥对加密密码进行解密,获得各加密文件的密码;采用密码对各加密文件进行解密,获得各加密文件对应的分割文件;将各分割文件进行合并,获得解密文件。
在本申请的一个实施例中,分割文件中包括特征码,不同分割文件对应的特征码不同;
计算机程序被处理器执行时还实现以下步骤:
按照预设的特征码排列顺序,对各特征码对应的分割文件进行排序;将排序后的分割文件进行合并,获得解密文件。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收发送方发送的目标加密文件以及目标加密文件对应的参考哈希值;目标加密文件为接收方将各加密文件以及加密密码进行拼接获得的;
采用预设哈希算法对目标加密文件进行处理,获得目标加密文件的验证哈希值;在验证哈希值与参考哈希值相同的情况下,确定目标加密文件未损坏。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种加密方法,其特征在于,所述方法包括:
对待加密文件进行分割,获得多个分割文件;
根据预设的密码获取规则,分别获取所述多个分割文件的密码;不同分割文件对应的密码不同;
分别采用所述密码对对应的分割文件进行加密,获得所述分割文件对应的加密文件;并采用接收方公钥对所述密码进行加密,获得各所述分割文件对应的加密密码;
将各所述加密文件以及所述加密密码发送至接收方。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的密码获取规则,分别获取所述多个分割文件的密码,包括:
针对每个分割文件,根据所述密码获取规则在所述分割文件的文件名中提取所述分割文件对应的密码;不同分割文件对应的密码获取规则不同。
3.根据权利要求2所述的方法,其特征在于,所述根据所述密码获取规则在所述分割文件的文件名中提取所述分割文件对应的密码,包括:
根据所述密码获取规则,在所述分割文件的文件名中提取第一预设长度的第一字节;所述密码获取规则中包括所述第一字节的各个字节在所述文件名中的位置;
根据所述分割文件的后缀名获取第二预设长度的第二字节;
将所述第一字节与所述第二字节合并,获得所述分割文件对应的密码。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将各所述加密文件以及所述加密密码发送至接收方,包括:
将各所述加密文件以及所述加密密码进行拼接,获得目标加密文件;
采用预设哈希算法对所述目标加密文件进行处理,获得所述目标加密文件的参考哈希值;
将所述目标加密文件以及所述参考哈希值发送至所述接收方;所述参考哈希值用于所述接收方对所述目标加密文件进行验证。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述分割文件中包括特征码,不同分割文件对应的特征码不同。
6.一种解密方法,其特征在于,所述方法包括:
接收发送方发送的各个加密文件以及加密密码;所述加密文件为所述发送方采用密码对分割文件进行加密获得的;所述加密密码为所述发送方采用接收方公钥对所述密码进行加密获得的;所述分割文件为所述发送方对待加密文件进行分割获得的;所述密码为所述发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同;
根据所述加密密码对各所述加密文件进行解密,获得解密文件。
7.根据权利要求6所述的方法,其特征在于,所述根据所述加密密码对各所述加密文件进行解密,获得解密文件,包括:
采用接收方私钥对所述加密密码进行解密,获得所述各加密文件的密码;
采用所述密码对各所述加密文件进行解密,获得各所述加密文件对应的分割文件;
将各所述分割文件进行合并,获得解密文件。
8.根据权利要求7所述的方法,其特征在于,所述分割文件中包括特征码,不同分割文件对应的特征码不同;所述将各所述分割文件进行合并,获得解密文件,包括:
按照预设的特征码排列顺序,对各所述特征码对应的分割文件进行排序;
将排序后的分割文件进行合并,获得所述解密文件。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述接收发送方发送的各个加密文件以及加密密码,包括:
接收发送方发送的目标加密文件以及所述目标加密文件对应的参考哈希值;所述目标加密文件为所述接收方将各所述加密文件以及所述加密密码进行拼接获得的;
相应地,所述方法还包括:
采用预设哈希算法对所述目标加密文件进行处理,获得所述目标加密文件的验证哈希值;
在所述验证哈希值与所述参考哈希值相同的情况下,确定所述目标加密文件未损坏。
10.一种加密装置,其特征在于,所述装置包括:
分割模块,用于对待加密文件进行分割,获得多个分割文件;
获取模块,用于根据预设的密码获取规则,分别获取所述多个分割文件的密码;不同分割文件对应的密码不同;
加密模块,用于分别采用所述密码对对应的分割文件进行加密,获得所述分割文件对应的加密文件;并采用接收方公钥对所述密码进行加密,获得各所述分割文件对应的加密密码;
发送模块,用于将各所述加密文件以及所述加密密码发送至接收方。
11.一种解密装置,其特征在于,所述装置包括:
接收模块,用于接收发送方发送的各个加密文件以及加密密码;所述加密文件为所述发送方采用密码对分割文件进行加密获得的;所述加密密码为所述发送方采用接收方公钥进行加密获得的;所述分割文件为所述发送方对待加密文件进行分割获得的;所述密码为所述发送方根据预设的密码获取规则获取的;不同分割文件对应的密码不同;
解密模块,用于根据所述加密密码对各所述加密文件进行解密,获得解密文件。
12.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9任一项所述的方法的步骤。
13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111212783.6A CN113642033A (zh) | 2021-10-19 | 2021-10-19 | 加密方法、解密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111212783.6A CN113642033A (zh) | 2021-10-19 | 2021-10-19 | 加密方法、解密方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113642033A true CN113642033A (zh) | 2021-11-12 |
Family
ID=78427353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111212783.6A Pending CN113642033A (zh) | 2021-10-19 | 2021-10-19 | 加密方法、解密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113642033A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179444A1 (en) * | 2010-01-19 | 2011-07-21 | Electronics And Telecommunications Research Institute | Apparatus and method for downloading conditional access images |
CN105512565A (zh) * | 2015-11-26 | 2016-04-20 | 浪潮电子信息产业股份有限公司 | 一种防止电子文件泄漏的方法及服务器 |
CN106788995A (zh) * | 2016-12-07 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 文件加密方法及装置 |
CN107135062A (zh) * | 2017-05-08 | 2017-09-05 | 桂林电子科技大学 | 一种改进的大文件的加密方法 |
CN112948857A (zh) * | 2021-03-03 | 2021-06-11 | 珠海金山办公软件有限公司 | 一种文档处理方法及装置 |
-
2021
- 2021-10-19 CN CN202111212783.6A patent/CN113642033A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179444A1 (en) * | 2010-01-19 | 2011-07-21 | Electronics And Telecommunications Research Institute | Apparatus and method for downloading conditional access images |
CN105512565A (zh) * | 2015-11-26 | 2016-04-20 | 浪潮电子信息产业股份有限公司 | 一种防止电子文件泄漏的方法及服务器 |
CN106788995A (zh) * | 2016-12-07 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 文件加密方法及装置 |
CN107135062A (zh) * | 2017-05-08 | 2017-09-05 | 桂林电子科技大学 | 一种改进的大文件的加密方法 |
CN112948857A (zh) * | 2021-03-03 | 2021-06-11 | 珠海金山办公软件有限公司 | 一种文档处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109510703B (zh) | 一种数据加解密方法及装置 | |
CN112637166B (zh) | 一种数据传输方法、装置、终端及存储介质 | |
US9537657B1 (en) | Multipart authenticated encryption | |
US20080172562A1 (en) | Encryption and authentication of data and for decryption and verification of authenticity of data | |
CN109981285B (zh) | 一种口令保护方法、口令校验方法及系统 | |
US10305689B2 (en) | Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program | |
CN114491611B (zh) | 基于备份数据的安全芯片防攻击方法及装置 | |
CN108197439A (zh) | 一种文件加密方法、装置及服务器 | |
WO2017006118A1 (en) | Secure distributed encryption system and method | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN110941861B (zh) | 文件防护方法、装置、计算机设备及介质 | |
EP3437248A1 (en) | Key update for masked keys | |
CN108229192A (zh) | 一种文件解密方法、装置及客户端 | |
CN110889695A (zh) | 基于安全多方计算保存和恢复隐私数据的方法和装置 | |
CN112818404B (zh) | 数据访问权限的更新方法、装置、设备及可读存储介质 | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN117744116A (zh) | 安装包保护方法、解密方法、装置、电子设备及存储介质 | |
CN111294359B (zh) | 压力测试方法、装置、计算机设备和存储介质 | |
US20090319805A1 (en) | Techniques for performing symmetric cryptography | |
CN113642033A (zh) | 加密方法、解密方法、装置、设备及存储介质 | |
CN110674511A (zh) | 基于椭圆曲线加密算法的离线数据保护方法及系统 | |
CN113779634B (zh) | 一种数据存储方法及系统 | |
EP4084484B1 (en) | Method and device for encryption of video stream, communication equipment, and storage medium | |
US11914746B2 (en) | Methods and systems for validating sensitive data in a distributed computing system without exposing the sensitive data | |
CN108242997B (zh) | 安全通信的方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211112 |