CN114285562A - 一种数据加密方法和装置 - Google Patents
一种数据加密方法和装置 Download PDFInfo
- Publication number
- CN114285562A CN114285562A CN202111619182.7A CN202111619182A CN114285562A CN 114285562 A CN114285562 A CN 114285562A CN 202111619182 A CN202111619182 A CN 202111619182A CN 114285562 A CN114285562 A CN 114285562A
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- encryption
- block
- sorted
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种数据加密方法、装置、电子设备、计算机可读存储介质及计算机程序产品,涉及文件加密领域。该方法包括:根据预设长度对原始数据进行分块处理,得到多个待加密数据块,然后根据包括预设长度的加密字符串的预设加密策略对每个待加密数据块进行加密处理,从而得到已加密数据,最后根据交换分组数确定已加密数据包括的多个待排序数据块,并调整多个待排序数据块的顺序,即有规律的调整数据块的顺序,得到目标加密数据。该方法通过控制预设长度实现提高加密效率的目的,并且在数据采集阶段,采用边采集边加密的方式,还能保证从数据源头控制数据的安全,实现好的加密效果。
Description
技术领域
本申请涉及文件加密技术领域,具体而言,本申请涉及一种数据加密方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
随着多媒体技术和网络技术的发展,多媒体数据的传输越来越普遍。多媒体数据在网络环境中很容易遭受人为的攻击,例如信息窃取、数据篡改、数据增/删等,因此多媒体文件的保密性和安全性越来越被重视。这就需要对多媒体数据进行加密,以便达到安全的目的。
多媒体数据一般比较庞大,不论是加密还是解密都会耗时较长,因此,如何既要保证加密效果又要保证加密解密效率则成为目前急需解决的技术问题。
发明内容
本申请实施例的目的旨在解决针对多媒体数据进行加密时同时保证加密效果和加密效率的问题。
根据本申请实施例的一个方面,提供了一种数据加密方法,该方法包括:
根据预设长度对原始数据进行分块处理,得到多个待加密数据块;
根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,其中,预设加密策略包括加密管理标识分别与加密字符串、交换分组数的对应关系,加密字符串的长度为预设长度;
根据交换分组数确定已加密数据包括的多个待排序数据块,并调整多个待排序数据块的顺序,得到目标加密数据。
在一种可能的实现方式中,原始数据包括主体数据和非主体数据,主体数据为待加密数据,根据预设长度对原始数据进行分块处理,得到多个待加密数据块,包括:
根据预设长度对主体数据进行分块处理,得到多个初始数据块;
将多个初始数据块中符合条件的初始数据块确定为待加密数据块,得到多个待加密数据块,其中,符合条件的初始数据块为初始数据块的长度为预设长度。
在另一种可能的实现方式中,根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,包括:
通过加密字符串,对每个待加密数据块进行异或处理,得到相应的已加密数据块;
将包含多个已加密数据块的原始数据确定为已加密数据。
在又一种可能的实现方式中,每个待排序数据块的长度一致,根据交换分组数确定已加密数据包括的多个待排序数据块,包括:
确定多个待加密数据块的数量总和;
若交换分组数不小于数量总和,将多个已加密数据块确定为多个待排序数据块;
若交换分组数小于数量总和,根据交换分组数对已加密数据重新进行分块,得到多个待排序数据块。
在又一种可能的实现方式中,调整多个待排序数据块的顺序,以得到目标加密数据,包括:
确定每个待排序数据块的索引值;
针对每个待排序数据块执行以下操作:
为该待排序数据块确定相匹配的待排序数据块,其中,两个相匹配的待排序数据块的索引值之和等于统一数值;
若该待排序数据块有相匹配的待排序数据块,将该待排序数据块和相匹配的待排序数据块调整位置;
若该待排序数据块无相匹配的待排序数据块,或者,若该待排序数据块的位置已调整,保持该待排序数据块的位置不变;
将包括已调整顺序的多个待排序数据块的已加密数据确定为目标加密数据。
在又一种可能的实现方式中,获取原始数据的过程包括:
在采集多媒体数据的阶段,将采集的一帧多媒体数据作为原始数据;
或者,
在按照预设频率采样数据的阶段,将单位时间内采样的数据作为原始数据。
根据本申请实施例的另一个方面,提供了一种数据加密装置,该装置包括:
第一处理模块,用于根据预设长度对原始数据进行分块处理,得到多个待加密数据块;
第二处理模块,用于根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,其中,预设加密策略包括加密管理标识分别与加密字符串、交换分组数的对应关系,加密字符串的长度为预设长度;
排序模块,用于根据交换分组数确定已加密数据包括的多个待排序数据块,并调整多个待排序数据块的顺序,以得到目标加密数据。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现本申请上述一个方面所示方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请上述一个方面所示方法的步骤。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请上述一个方面所示方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供了一种数据加密方法,该方法包括:根据预设长度对原始数据进行分块处理,得到多个待加密数据块,即对原始数据按照预设长度进行结构性处理,然后根据包括预设长度的加密字符串的预设加密策略对每个待加密数据块进行加密处理,即分块加密,从而得到已加密数据,也就是说预设长度的大小会影响后续待加密数据块的数量,继而影响该原始数据的加密时长,即预设长度和加密效率紧密相连。最后根据交换分组数确定已加密数据包括的多个待排序数据块,并调整多个待排序数据块的顺序,即有规律的调整数据块的顺序,最后可以得到目标加密数据。该方法通过控制预设长度来控制加密效率,并且在数据采集阶段采用边采集边加密的方式,还能保证从数据源头控制数据的安全,实现好的加密效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据加密方法的流程示意图;
图2为本申请实施例提供的一种数据加密装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
多媒体数据,一般指音频数据、视频数据等包括两种或两种以上媒体形式的数据。以视频数据为例,视频数据在录制、编码、解码、播放各阶段,具体操作的对象是一帧视频数据,实际中将一个完整的视频数据分为多帧视频分别进行处理,从而实现对视频的录制、编码、解码、播放等。
异或,一种逻辑运算,符号为⊕。通常,两个相同的数字异或,异或结果为0,两个不同的数字异或,异或结果为1。而在二进制运算中,异或处理有这四种情况:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0,因此,存在二进制的数据:a、b、c,若根据a⊕b=c,则在b、c知晓的情况下,可以根据公式a=b⊕c,来求得a。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
参见图1,本申请实施例提供了一种数据加密方法的流程示意图。其中,该方法可以应用于终端等电子设备,该终端可以为现有技术中各种类型的终端设备,例如:移动终端、计算机等,也可以为与该终端设备相连接的小型设备,例如Ukey等。该方法包括以下内容:
S110,根据预设长度对原始数据进行分块处理,得到多个待加密数据块。
其中,所述原始数据指音频、视频等硬件设备采集后按照预设的协议进行编码获得的数据。目前几乎所有的多媒体硬件设备都兼具数据采集和数据编码的功能,本申请中后续提到的“采集”、“录制”等词汇都视为相关数据已进行了编码,形成原始数据。原始数据为二进制数据,因此有对应数据长度,数据长度的单位可以是位(b)或者字节(Byte,简写为B)。
示例性地,针对1030KB的原始数据,该预设长度可以设置为64KB,也可以设置为128KB,也可以设置为1024KB。在具体实施时,可以根据需求设置该预设长度。
在一种可能的实现方式中,获取原始数据的方式可以包括:
在采集多媒体数据的阶段,将采集的一帧多媒体数据作为原始数据;或者,在按照预设频率采样数据的阶段,将单位时间内采样的数据作为原始数据。
示例性地,在多媒体数据的录制阶段,可以得到多帧多媒体数据,可以将录制的每一帧多媒体数据作为原始数据,对每一帧多媒体数据进行分块处理,然后进行加密。由于多媒体数据整体的数据量比较庞大,对其整体进行加密是一件比较耗时的工作,而在录制阶段针对录制的每一帧多媒体数据进行加密,并不会妨碍录制过程,而且也可以方便地对多媒体数据进行加密。同时,在多媒体的录制阶段进行数据的加密,可以有效地从源头控制多媒体数据的安全。
S120,根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,其中,预设加密策略包括加密管理标识分别与加密字符串、交换分组数的对应关系,加密字符串的长度为预设长度。
其中,终端等电子设备中预存有加密管理标识,以及与该加密管理标识相对应的加密开始时间和加密有效期。
在一种可能的实现方式中,在获取原始数据之前,该方法还包括:
在初始化终端时,随机获取加密字符串,并在预设范围内随机获取交换分组数;确定预存的加密管理标识与加密字符串、交换分组数的对应关系,并将对应关系发送至服务器以进行备份。
其中,服务器中预存有加密管理标识,以及与该加密管理标识相对应的加密开始时间和加密有效期。另外,服务器中预存有多个不同的加密管理标识,分别用来标识不同的预设加密策略。
具体地,在终端的初始化阶段,随机获取预设长度的加密字符串,以及在预设范围内随机获取一个交换分组数。其中,该随机生成数据或者字符串的方式包括但不限于以下途径:通过终端上的硬件随机器生成、通过终端上的软件程序生成。示例性地,该预设范围可以设置为:大于10以及小于100之间的所有整数。
其次,创建预存的加密管理标识与加密字符串、交换分组数之间的对应关系,该对应关系可以为以下任一种:为加密管理标识和加密字符串、加密管理标识和经过处理的加密字符串(例如,对加密字符串进行加密操作)、将加密管理标识和加密字符串拼接起来并进行处理的结果。在确定出对应关系之后,可以将对应关系上传至服务器进行存储。由于预设加密策略中包括的加密字符串和交换分组数是在终端上随机生成的,服务器中并没有备份该加密字符串和交换分组数的信息。因此,在终端中确定加密管理标识与加密字符串、交换分组数之后,需要两者与加密管理标识的对应关系上传至服务器进行备份。备份的目的,是为了给其他的终端提供该预设加密策略的信息,以便于其他终端根据该预设加密策略对目标加密数据进行解密。
S130,根据交换分组数确定已加密数据包括的多个待排序数据块,并调整多个待排序数据块的顺序,得到目标加密数据。
本申请实施例提供了一种数据加密方法,该方法包括:根据预设长度对原始数据进行分块处理,得到多个待加密数据块,即对原始数据按照预设长度进行结构性处理,然后根据包括预设长度的加密字符串的预设加密策略对每个待加密数据块进行加密处理,即分块加密,从而得到已加密数据,也就是说预设长度的大小影响后续待加密数据块的数量,继而影响该原始数据的加密时长,即预设长度和加密效率紧密相连。最后根据交换分组数确定已加密数据包括的多个待排序数据块,并调整多个待排序数据块的顺序,即有规律的调整数据块的顺序,最后可以得到目标加密数据。该方法通过控制预设长度来控制加密效率,并且在数据采集阶段采用边采集边加密的方式,还能保证从数据源头控制数据的安全,实现好的加密效果。
本申请实施例提供了一种可能的实现方式,原始数据包括主体数据和非主体数据,因此S110具体可以包括:
根据预设长度对主体数据进行分块处理,得到多个初始数据块;将多个初始数据块中符合条件的初始数据块确定为待加密数据块,得到多个待加密数据块,其中,符合条件的初始数据块为初始数据块的长度为预设长度。
具体地,将数据块的长度为预设长度作为分割标准,将主体数据分割成多个初始数据块。其中,所分割的最后一个初始数据块的数据长度可能不满预设长度,因此,只需要挑选出预设长度的初始数据块作为待加密数据块,对未满足预设长度的初始数据块不进行加密处理。
示例性地,以多媒体数据中的视频数据为例,每一帧视频数据由视频头和净视频数据组成,可以将该视频头作为非主体数据,将净视频数据作为主体数据。
本申请实施例提供了一种可能的实现方式,S120:根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,具体可以包括:
通过加密字符串,对每个待加密数据块进行异或处理,得到相应的已加密数据块;将包含多个已加密数据块的原始数据确定为已加密数据。
其中,每个待加密数据块和加密字符串都是二进制形式存在。
具体地,依次使二进制的待加密数据块和二进制的加密字符进行异或处理,将异或处理结果作为已加密数据块。其中,已加密数据块的长度依旧为预设长度。在实际处理的时候,可以将已加密数据块替换相应的待处理数据块,则原始数据中包括的是多个已加密数据块,将此时的原始数据确定为已加密数据。
另外,加密字符串是预存在指定终端或者其他配置了预设加密策略的终端(与本申请实施例所示终端的预设加密策略相同)中,因此在解密时,可以根据每个加密数据块和加密字符串之间的异或操作,就可以还原出相应的待加密数据块,进而还原出整个原始数据。
本申请实施例提供了一种可能的实现方式,根据交换分组数确定已加密数据包括的多个待排序数据块,具体可以包括:
确定多个待加密数据块的数量总和;若交换分组数不小于数量总和,将多个已加密数据块确定为多个待排序数据块;若交换分组数小于数量总和,根据交换分组数对已加密数据重新进行分块,得到多个待排序数据块。
其中,每个待排序数据块的长度一致。
具体地,先确定多个待加密数据块的个数,即数量总和,然后判断交换分组数和数量总和之间的大小。若交换分组数不小于数量总和,则将数量总和作为再次分块的标准,已加密数据进行分块处理,由于多个已加密数据块的总数为数量总和,因此,无需再进行分块,将多个已加密数据块确定为多个待排序数据块。若交换分组数小于数量总和,则将已加密数据分为多个待排序数据块,其中,在分块的时候,需确定单位数据块的长度,不论以何种单位作为计算标准,最后得到的数据块的长度为整数。
示例性地,加密数据终中的主体数据总长度为1030KB,且交换分组数为13,若单位为KB,则分出的单位数据块的长度为79KB,剩下的3KB的数据(该部分数据不参与调整排序的操作);若单位为b,则分出的单位数据块的长度为81132b,剩余4b的数据(该部分数据不参与调整排序的操作)。
本申请实施例提供了一种可能的实现方式,调整多个待排序数据块的顺序,以得到目标加密数据,具体可以包括以下S135-S137(图中未示出):
S135,确定每个待排序数据块的索引值;
S136,针对每个待排序数据块执行以下操作:
为该待排序数据块确定相匹配的待排序数据块,其中,两个相匹配的待排序数据块的索引值之和等于统一数值;
若该待排序数据块有相匹配的待排序数据块,将该待排序数据块和相匹配的待排序数据块调整位置;
若该待排序数据块无相匹配的待排序数据块,或者,若该待排序数据块的位置已调整,保持该待排序数据块的位置不变;
S137,将包括已调整顺序的多个待排序数据块的已加密数据确定为目标加密数据。
示例性地,针对上述分出的13个待排序数据块,分别为block_0、block_1、block_2、block_3、block_4、block_5、block_6、block_7、block_8、block_9、block_10、block_11、block_12,每个待排序数据块的索引值和表示上的数值相同,从前到后所有的待排序数据块依次为:block_0、block_1、block_2、block_3、block_4、block_5、block_6、block_7、block_8、block_9、block_10、block_11、block_12,将索引值作为每个待排序数据块的标识。将第一个索引值和最后一个索引值之和确定为上述统一数值,即12。按照索引值之和为12,进行匹配操作和调整位置操作。调整之后,每个待排序的数据块的索引值和位置相反,从前到后所有的待排序数据块依次为:block_12、block_11、block_10、block_9、block_8、block_7、block_6、block_5、block_4、block_3、2、block_1、block_0。
本申请实施例还提供了一种可能的实现方式,在得到目标加密数据之后,还包括:
获取验证字符串,其中,验证字符串根据以下内容生成:加密字符串、加密管理标识、加密开始时间、加密有效期、交换分组数;在目标加密数据的指定位置添加验证字符串。其中,该验证字符串的长度为固定长度。
具体地,先将加密管理标识、加密字符串、加密开始时间、加密有效期转换为统一的数据格式,例如二进制格式,然后进行拼接操作,对拼接结果作MD5的处理,将得到的处理结果作为验证字符串。然后在目标加密数据的最后添加该验证字符串,对添加了验证字符串的目标加密数据进行存储。
其中,在得到验证字符串之后,存储该字符串。
示例性地,该加密管理标识可以设置批号和版本号的结合。在进行拼接操作时,按照以下数据结构进行拼接,数据不足的位置用零补齐:
批号(字节)+版本号(16字节)+加密方案(128字节)+交换分组数(4字节)、有效期(8字节)+开始时间(32字节)。
其中,括号内的数据是根据经验确定的要分配给相应加密元素的可占用的空间。
提供验证字符串的是为了在原有的方案的基础上,再加一层防护,即对原有的方案形成双层加密。
基于上述实施例所示的一种数据加密方法,本申请实施例还提供了与该数据加密方法相对应的数据解密方法,该解密方法可应用于上述实施例所示的终端(例如,手机、计算机设备、Ukey设备等),该终端为解密终端。其中,该解密终端中预存有:加密管理标识、加密字符串、交换分组数、加密开始时间、加密有效期,以及根据前述5个元素生成的验证字符串等。
在接收到一份加密文件之后,对该加密文件中的单位数据做二进制编码处理,得到一个单位的加密数据,根据加密数据得到解密数据的过程可以参考以下七个步骤:
第一步,获取加密数据中的验证字符串。具体地,截取该加密数据尾部的固定长度的字符串,将该截取的字符串作为加密数据的验证字符串。对比加密数据的验证字符串和预存的加密字符串是否相同,如果相同,则表示该解密终端上配置的加密管理标识等信息和该加密数据对应的加密管理标识等相关信息是一致的,可以继续第二步。否则,暂停解密操作。
第二步,有效期验证。根据终端中存储的加密开始时间和加密有效期,确定当前时间是否在有效期内,若在有效期内,则进入第三步。示例性地,获取有效期最后一天的时间戳和当前时间的时间戳,若当前时间的时间戳不大于最后一天的时间戳,那么说明当前时间在有效时间内,若当前时间的时间戳大于最后一天的时间桌,那么说明已经过了有效期。针对于过期的加密数据,可以对其进行删除。
第三步,获取加密的主体数据。加密数据是由非主体数据和加密的主体数据组成,其中,非主体数据包括第一步所示的验证字符串,还有头数据部分。其中,头数据用于记录该原始数据的信息。
第四步,对加密的主体数据进行分块处理。首先,对加密字符串进行二进制编码,得到编码后的加密字符串,获取该编码后的加密字符串的长度,确定加密时采用的预设长度。其次,计算根据该预设长度对加密的主体数据进行分块时所分得的数据块的总数(未满足该预设长度的数据块,不能作为分块对象或者计算对象,计入该总数),判断该总数和交换分组数大小。若交换分组数不小于该总数,则根据预设长度对该加密的主体数据进行分块处理,得到多个待排序数据块。若交换分组数小于该总数,则根据交换分组数对该加密的主体数据进行分块处理。其中,在根据交换分组数进行分块处理之前,需确定单位数据块的单位,例如上述KB,还是b等。
第五步,对多个待排序数据块进行排序。具体地,可以根据上述实施例所示的排序方式,对多个待排序数据块进行排序,得到多个已排序数据块。接上述示例,此时,该多个待排序数据块依次为:block_12、block_11、block_10、block_9、block_8、block_7、block_6、block_5、block_4、block_3、2、block_1、block_0,在对其进行排序之后,得到的多个已排序数据块依次为:block_0、block_1、block_2、block_3、block_4、block_5、block_6、block_7、block_8、block_9、block_10、block_11、block_12。该加密的主体数据中数据块的顺序已恢复。
第六步,再分块,以获取多个待解密数据块。在排序之后,再次根据前述步骤中计算出的预设长度对该加密的主体数据进行分块处理,分得多个待解密数据块。其中,该加密的主体数据的尾部有部分数据的长度不够,不作为待解密数据块,而这部分数据在加密阶段也未进行过加密操作。
第七步,解密。使编码后的加密字符串依次和每个待解密数据块进行异或处理,得到相应的已解密数据块,将该已解密数据块替换待解密数据块。到此,加密的主体数据部分已完全恢复。
最后,将头数据、主体数据进行合并,得到原始数据。按照上述七个步骤对加密文件中每个单位数据进行解密,即可得到该文件对应的完整数据。
本申请实施例提供了一种数据加密装置,如图2所示,该装置200可以包括:
第一处理模块210,用于根据预设长度对原始数据进行分块处理,得到多个待加密数据块;
第二处理模块220,用于根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,其中,预设加密策略包括加密管理标识分别与加密字符串、交换分组数的对应关系,加密字符串的长度为预设长度;
排序模块230,用于根据交换分组数确定已加密数据包括的多个待排序数据块,并调整多个待排序数据块的顺序,以得到目标加密数据。
在一种可能的实现方式中,原始数据包括主体数据和非主体数据,主体数据为待加密数据,第一处理模块210在根据预设长度对原始数据进行分块处理,得到多个待加密数据块中,具体用于:
根据预设长度对主体数据进行分块处理,得到多个初始数据块;
将多个初始数据块中符合条件的初始数据块确定为待加密数据块,得到多个待加密数据块,其中,符合条件的初始数据块为该初始数据块的长度为预设长度。
在一种可能的实现方式中,第二处理模块220在根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据中,具体用于:
通过加密字符串,对每个待加密数据块进行异或处理,得到相应的已加密数据块;
将包含多个已加密数据块的原始数据确定为已加密数据。
在一种可能的实现方式中,排序模块230在根据交换分组数确定已加密数据包括的多个待排序数据块中,具体用于:
确定多个待加密数据块的数量总和;若交换分组数不小于数量总和,将多个已加密数据块确定为多个待排序数据块;若交换分组数小于数量总和,根据交换分组数对已加密数据重新进行分块,得到多个待排序数据块。
其中,每个待排序数据块的长度一致,
在一种可能的实现方式中,排序模块230在调整多个待排序数据块的顺序,以得到目标加密数据,包括:
确定每个待排序数据块的索引值;
针对每个待排序数据块执行以下操作:
为该待排序数据块确定相匹配的待排序数据块,其中,两个相匹配的待排序数据块的索引值之和等于统一数值;
若该待排序数据块有相匹配的待排序数据块,将该待排序数据块和相匹配的待排序数据块调整位置;
若该待排序数据块无相匹配的待排序数据块,或者,若该待排序数据块的位置已调整,保持该待排序数据块的位置不变;
将包括已调整顺序的多个待排序数据块的已加密数据确定为目标加密数据。
在一种可能的实现方式中,该装置200还包括获取模块240,具体用于:
在采集多媒体数据的阶段,将采集的一帧多媒体数据作为原始数据;或者,在按照预设频率采样数据的阶段,将单位时间内采样的数据作为原始数据。
在一种可能的实现方式中,该装置200还包括初始化模块250,具体用于:
在初始化终端时,随机获取加密字符串,并在预设范围内随机获取交换分组数;确定预存的加密管理标识与加密字符串、交换分组数的对应关系,并将对应关系发送至服务器以进行备份。
在一种可能的实现方式中,该装置200还包括第三处理模块260,具体用于:
获取验证字符串,其中,验证字符串根据以下内容生成:加密字符串、加密管理标识、加密开始时间、加密有效期、交换分组数;在目标加密数据的指定位置添加验证字符串。
本申请实施例中提供了一种电子设备,该电子设备包括:包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现本申请上述一个方面所示方法的步骤。
参见图3,本申请实施例提供了一种电子设备的结构示意图,图3所示的电子设备3000包括:处理器3001和存储器3003。其中,处理器3001和存储器3003相连,如通过总线3002相连。可选地,电子设备3000还可以包括收发器3004,收发器3004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器3004不限于一个,该电子设备3000的结构并不构成对本申请实施例的限定。
处理器3001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器3001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线3002可包括一通路,在上述组件之间传送信息。总线3002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线3002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器3003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器3003用于存储执行本申请实施例的计算机程序,并由处理器3001来控制执行。处理器3001用于执行存储器3003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:计算机设备、Ukey等。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种数据加密方法,其特征在于,所述方法包括:
根据预设长度对原始数据进行分块处理,得到多个待加密数据块;
根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,其中,所述预设加密策略包括加密管理标识分别与加密字符串、交换分组数的对应关系,所述加密字符串的长度为所述预设长度;
根据所述交换分组数确定所述已加密数据包括的多个待排序数据块,并调整所述多个待排序数据块的顺序,得到目标加密数据。
2.根据权利要求1所述的方法,其特征在于,所述原始数据包括主体数据和非主体数据,所述主体数据为待加密数据,所述根据预设长度对原始数据进行分块处理,得到多个待加密数据块,包括:
根据所述预设长度对所述主体数据进行分块处理,得到多个初始数据块;
将所述多个初始数据块中符合条件的初始数据块确定为所述待加密数据块,得到所述多个待加密数据块,其中,所述符合条件的初始数据块为所述初始数据块的长度为所述预设长度。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,包括:
通过所述加密字符串,对每个待加密数据块进行异或处理,得到相应的已加密数据块;
将包含多个已加密数据块的原始数据确定为所述已加密数据。
4.根据权利要求3所述的方法,其特征在于,每个待排序数据块的长度一致,所述根据交换分组数确定所述已加密数据包括的多个待排序数据块,包括:
确定所述多个待加密数据块的数量总和;
若所述交换分组数不小于所述数量总和,将所述多个已加密数据块确定为所述多个待排序数据块;
若所述交换分组数小于所述数量总和,根据所述交换分组数对所述已加密数据重新进行分块,得到所述多个待排序数据块。
5.根据权利要求1-2中任一项所述的方法,其特征在于,所述调整所述多个待排序数据块的顺序,以得到目标加密数据,包括:
确定每个待排序数据块的索引值;
针对每个待排序数据块执行以下操作:
为该待排序数据块确定相匹配的待排序数据块,其中,两个相匹配的待排序数据块的索引值之和等于统一数值;
若该待排序数据块有相匹配的待排序数据块,将该待排序数据块和所述相匹配的待排序数据块调整位置;
若该待排序数据块无相匹配的待排序数据块,或者,若该待排序数据块的位置已调整,保持该待排序数据块的位置不变;
将包括已调整顺序的多个待排序数据块的已加密数据确定为所述目标加密数据。
6.根据权利要求1-2中任一项所述的方法,其特征在于,获取所述原始数据的过程包括:
在采集多媒体数据的阶段,将采集的一帧多媒体数据作为所述原始数据;
或者,
在按照预设频率采样数据的阶段,将单位时间内采样的数据作为所述原始数据。
7.一种数据加密装置,其特征在于,所述装置包括:
第一处理模块,用于根据预设长度对原始数据进行分块处理,得到多个待加密数据块;
第二处理模块,用于根据预设加密策略对每个待加密数据块进行加密处理,得到已加密数据,其中,所述预设加密策略包括加密管理标识分别与加密字符串、交换分组数的对应关系,所述加密字符串的长度为所述预设长度;
排序模块,用于根据所述交换分组数确定所述已加密数据包括的多个待排序数据块,并调整所述多个待排序数据块的顺序,以得到目标加密数据。
8.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-6任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111619182.7A CN114285562B (zh) | 2021-12-27 | 2021-12-27 | 一种数据加密方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111619182.7A CN114285562B (zh) | 2021-12-27 | 2021-12-27 | 一种数据加密方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285562A true CN114285562A (zh) | 2022-04-05 |
CN114285562B CN114285562B (zh) | 2023-05-09 |
Family
ID=80876620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111619182.7A Active CN114285562B (zh) | 2021-12-27 | 2021-12-27 | 一种数据加密方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285562B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190118A (zh) * | 2022-07-25 | 2022-10-14 | 中国测绘科学研究院 | 一种基于sm4算法的地理数据传输方法及系统 |
CN115333868A (zh) * | 2022-10-14 | 2022-11-11 | 安徽华云安科技有限公司 | 基于奇偶轮循的对称加密方法、解密方法、装置、设备 |
CN117236905A (zh) * | 2023-11-13 | 2023-12-15 | 北京国电通网络技术有限公司 | 招标文件校验方法、装置、电子设备与计算机可读介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100098244A1 (en) * | 2008-10-21 | 2010-04-22 | Apple Inc. | System and method for stream/block cipher with internal random states |
US20110085663A1 (en) * | 2008-02-22 | 2011-04-14 | Fachhochschule Schmalkalden | Method for the access-related or communication-related random encryption and decryption of data |
CN106878013A (zh) * | 2017-03-20 | 2017-06-20 | 网宿科技股份有限公司 | 一种文件的加密、解密方法和装置 |
CN108777803A (zh) * | 2018-06-05 | 2018-11-09 | 四川师范大学 | 广电云平台视频流处理方法、装置、设备及介质 |
CN110381067A (zh) * | 2019-07-24 | 2019-10-25 | 北京视界云天科技有限公司 | Ip包加密方法、解密方法及其装置 |
CN110489978A (zh) * | 2019-07-09 | 2019-11-22 | 中国人民解放军国防科技大学 | 一种文件加解密方法 |
CN113761554A (zh) * | 2021-07-05 | 2021-12-07 | 安徽听见科技有限公司 | 数据加密方法、解密方法及相关装置、设备和介质 |
-
2021
- 2021-12-27 CN CN202111619182.7A patent/CN114285562B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110085663A1 (en) * | 2008-02-22 | 2011-04-14 | Fachhochschule Schmalkalden | Method for the access-related or communication-related random encryption and decryption of data |
US20100098244A1 (en) * | 2008-10-21 | 2010-04-22 | Apple Inc. | System and method for stream/block cipher with internal random states |
CN106878013A (zh) * | 2017-03-20 | 2017-06-20 | 网宿科技股份有限公司 | 一种文件的加密、解密方法和装置 |
CN108777803A (zh) * | 2018-06-05 | 2018-11-09 | 四川师范大学 | 广电云平台视频流处理方法、装置、设备及介质 |
CN110489978A (zh) * | 2019-07-09 | 2019-11-22 | 中国人民解放军国防科技大学 | 一种文件加解密方法 |
CN110381067A (zh) * | 2019-07-24 | 2019-10-25 | 北京视界云天科技有限公司 | Ip包加密方法、解密方法及其装置 |
CN113761554A (zh) * | 2021-07-05 | 2021-12-07 | 安徽听见科技有限公司 | 数据加密方法、解密方法及相关装置、设备和介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190118A (zh) * | 2022-07-25 | 2022-10-14 | 中国测绘科学研究院 | 一种基于sm4算法的地理数据传输方法及系统 |
CN115333868A (zh) * | 2022-10-14 | 2022-11-11 | 安徽华云安科技有限公司 | 基于奇偶轮循的对称加密方法、解密方法、装置、设备 |
CN115333868B (zh) * | 2022-10-14 | 2022-12-23 | 安徽华云安科技有限公司 | 基于奇偶轮循的对称加密方法、解密方法、装置、设备 |
CN117236905A (zh) * | 2023-11-13 | 2023-12-15 | 北京国电通网络技术有限公司 | 招标文件校验方法、装置、电子设备与计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114285562B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114285562B (zh) | 一种数据加密方法和装置 | |
CN108270874B (zh) | 应用程序的更新方法及装置 | |
US20180249190A1 (en) | Method and apparatus for cloud storage and cloud download of multimedia data | |
CN111432287A (zh) | 音视频文件的切片化加密方法及系统、解密方法及系统 | |
CN108199836B (zh) | 一种密钥与设备绑定、解绑定的方法及装置 | |
CN113761554A (zh) | 数据加密方法、解密方法及相关装置、设备和介质 | |
CN114244635B (zh) | 通信设备的加密型数据编码方法 | |
EP4084484B1 (en) | Method and device for encryption of video stream, communication equipment, and storage medium | |
US11599570B2 (en) | Device and method to render multimedia data stream tamper-proof based on block chain recording | |
CN111414341B (zh) | 一种物联网环境下的数据归一化描述方法 | |
CN108596050A (zh) | 图像的签名方法和装置以及验签方法和装置 | |
CN115935299A (zh) | 授权控制方法、装置、计算机设备和存储介质 | |
CN109240849B (zh) | 数据备份方法、装置及用于视频会议系统的多点控制单元 | |
CN113821820A (zh) | 资源以切分方式进行加解密的方法、装置、介质和设备 | |
CN111813965A (zh) | 多媒体文件的加密方法、解密方法、存储介质和电子设备 | |
CN114465826B (zh) | 编码技术的数据加密方法、系统及储存介质 | |
CN1252663C (zh) | 算术单元和算术方法 | |
CN117040913B (zh) | 一种云资源共享的数据安全传输方法及系统 | |
CN116880778B (zh) | 一种基于再生编码及分布式存储的用户隐私保护方法 | |
CN114143014B (zh) | 媒体文件加密方法、解密方法、传输方法、装置和系统 | |
CN112423150B (zh) | 一种具有帧校验功能的远程视频传输装置的工作方法 | |
CN116915501B (zh) | 一种物联网信息安全管理方法及系统 | |
CN113489698B (zh) | 基于区块链的物联网数据保密读取方法与系统 | |
CN116647732B (zh) | 一种基于智能电视盒安全的更新配置方法和装置 | |
CN116599763A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |