CN114329536A - 数据加密方法及装置、数据解密方法及装置、电子设备 - Google Patents
数据加密方法及装置、数据解密方法及装置、电子设备 Download PDFInfo
- Publication number
- CN114329536A CN114329536A CN202111595177.7A CN202111595177A CN114329536A CN 114329536 A CN114329536 A CN 114329536A CN 202111595177 A CN202111595177 A CN 202111595177A CN 114329536 A CN114329536 A CN 114329536A
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- ciphertext
- intermediate data
- obtaining
- 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
Abstract
本公开的实施例公开了一种数据加密方法及装置、数据解密方法及装置、电子设备,本公开的实施例提供的数据加密方法,通过对待加密数据进行编码处理,得到第一中间数据;获取第一中间数据中预设位置对应的标志数据,并对标志数据进行计算得到插入数据;根据第一中间数据和插入数据,得到第二中间数据。以通过插入数据对第一中间数据进行动态插入处理得到第二中间数据,进而提高加密方法的破解难度。然后,通过对第二中间数据进行数据格式转换处理得到密文数据,以使得到的密文数据的数据格式与待加密数据的数据格式相同,进而可以得到容量较小的密文数据,减轻保存密文数据的数据存储装置的负担。
Description
技术领域
本公开涉及数据处理技术领域,具体而言,涉及一种数据加密方法及装置、数据解密方法及装置、电子设备。
背景技术
随着互联网技术的发展,互联网上的信息越来越多,为了防止信息被非法获取,通常会对保存的信息进行加密存储,以保证数据的安全性。在相关技术的数据应用系统中,对存储信息的加密处理方式有多种,例如,采用高级加密标准(Advanced EncryptionStandard,简称AES)、三重数据加密算法(Triple Data Encryption Standard,简称3DES)等对其进行加密处理。
但是,采用上述加密方法对计算设备的性能要求较高,且最终密文的数据容量较大,增大了数据库系统的负担。
因此,如何提供一中计算方法简单且最终密文容量较小的数据加密方法,成为本领域技术人员亟待解决的问题。
发明内容
本公开提供了一种数据加密方法及装置、数据解密方法及装置、电子设备,以简化数据加密及数据解密过程,且减小密文容量。
根据本公开实施例的第一方面,提供了一种数据加密方法,包括:获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据;获取第一中间数据中预设位置对应的标志数据,并对标志数据进行计算得到插入数据;根据第一中间数据和插入数据,得到第二中间数据;对第二中间数据进行数据格式转换处理,得到密文数据;其中,密文数据的数据格式与待加密数据的数据格式相同。
在一些实施例中,基于前述方案,获取第一中间数据中预设位置对应的标志数据,并对标志数据进行计算得到插入数据,包括:根据标志数据得到插入数量和插入位置;根据插入数量和插入位置生成随机数序列;根据随机数序列得到第一中间数据的每个插入位置对应的插入数据。
在一些实施例中,基于前述方案,根据标志数据得到插入数量和插入位置,包括:根据标志数据的数据长度以及第一中间数据的数据长度,计算得到插入数据针对第一中间数据的插入数量;以及,根据标志数据中预设字符处于标志数据的位置信息,得到插入数据针对第一中间数据的插入位置。
在一些实施例中,基于前述方案,根据插入数量和插入位置生成随机数序列,包括:根据插入数量得到随机数的数量,以及根据插入位置得到每个随机数对应的随机数值;根据随机数的数量和每个随机数对应的随机数值,得到随机数序列。
在一些实施例中,基于前述方案,获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据,包括:获取待加密数据对应的二进制表达序列;根据预设的编码算法对二进制表达序列进行编码处理,得到待加密数据对应的字符表达序列,并将字符表达序列作为第一中间数据。
在一些实施例中,基于前述方案,对第二中间数据进行数据格式转换处理,得到密文数据,包括:获取与待加密数据的数据格式匹配的数据转换映射表;其中,数据转换映射表预置有第二中间数据的数据格式与待加密数据的数据格式的转换关系;根据数据转换映射表对第二中间数据进行数据格式转换处理,得到密文数据。
根据本公开实施例的第二方面,提供了一种数据解密方法,方法包括:获取密文数据,并对密文数据进行数据格式转换处理,得到第三中间数据;获取第三中间数据中预设位置对应的标志数据,对标志数据进行计算得到插入数据;根据第三中间数据以及插入数据,得到第四中间数据;对第四中间数据进行解码处理,得到明文数据;其中,密文数据的数据格式与明文数据的数据格式相同。
根据本公开实施例的第三方面,提供了一种数据加密装置,包括:加密转换模块,用于获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据;加密数据计算模块,用于获取第一中间数据中预设位置对应的标志数据,对标志数据进行计算得到插入数据;加密数据插入模块,用于根据第一中间数据以及插入数据,得到第二中间数据;密文生成模块,用于对第二中间数据进行数据格式转换处理,得到密文数据;其中,密文数据的数据格式和待加密数据的数据格式相同。
根据本公开实施例的第四方面,提供了一种数据解密装置,包括:解密转换模块,用于获取密文数据,并对密文数据进行数据格式转换处理,得到第三中间数据;解密数据计算模块,用于获取第三中间数据中预设位置对应的标志数据,对标志数据进行计算得到插入数据;解密数据删除模块,用于根据第三中间数据以及插入数据,得到第四中间数据;明文数据获取模块,用于对第四中间数据进行解码处理,得到明文数据;其中,密文数据的数据格式与明文数据的数据格式相同。
根据本公开实施例的第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现如上述的数据加密方法,或者实现如上述的数据解密方法。
根据本公开实施例的第六方面,提供了一种电子设备,包括:存储器以及处理器;存储器用于存储计算机可执行的程序;处理器用于调用计算机可执行的程序以实现如上述的数据加密方法,或者实现如上述的数据解密方法。
本公开的示例性实施例具有以下有益效果:
本公开实施例提供的数据加密方法及装置、数据解密方法及装置、电子设备,通过获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据;获取第一中间数据中预设位置对应的标志数据,并对标志数据进行计算得到插入数据;根据第一中间数据和插入数据,得到第二中间数据。以通过插入数据对第一中间数据进行动态插入处理得到第二中间数据,进而提高加密方法的破解难度。然后,通过对第二中间数据进行数据格式转换处理得到密文数据,以使得到的密文数据的数据格式与待加密数据的数据格式相同,进而可以得到容量较小的密文数据,减轻保存密文数据的数据存储装置的负担,且可以通过自定义的数据格式转换处理方法打乱待加密数据的信息,以实现对待加密数据的保护。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出本公开实施例中数据加密方法的流程图;
图2示出本公开一实施例中根据待加密数据获取第二中间数据的示意图;
图3示出本公开一实施例中根据第二中间数据获取密文数据的示意图;
图4示出本公开一实施例中数据加密方法的数据流程图;
图5示出本公开实施例中数据解密方法的流程图;
图6示出本公开一实施例中数据解密方法的数据流程图;
图7示出本公开实施例中数据加密装置的结构示意图;
图8示出本公开实施例中数据解密装置的结构示意图;
图9示出本公开实施例中电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本公开中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合附图,对本公开的一些实施方式作详细说明,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1为本公开实施例中数据加密方法的流程图,下面结合图1,对本公开示例性实施例中的数据加密方法进行说明。
步骤S110、获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据。
其中,待加密数据指的是有意义的字符或比特集,或通过某种公开的编码标准就能获得的信息,即加密前的明文数据。对待加密数据进行编码处理指的是将待加密数据从一种数据格式转换为另一种数据格式的过程。
可以理解的是,编码前待加密数据的数据格式与编码后第一中间数据的数据格式不同。例如,可以是待加密数据的数据格式为二进制类型,第一中间数据的数据格式为字符串类型;也可以是待加密数据的数据格式为字符串类型,第一中间数据的数据格式为二进制类型。待加密数据的数据格式以及第一中间数据的数据格式可以根据实际情况进行灵活设置,本公开对此不做限定。
在一些实施方式中,获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据,包括:获取待加密数据对应的二进制表达序列;根据预设的编码算法对二进制表达序列进行编码处理,得到待加密数据对应的字符表达序列,并将字符表达序列作为第一中间数据。
其中,待加密数据可以是多种数据格式,也可以是多种数据格式的组合,因此,为了方便计算,可以将待加密数据转换为二进制,以得到待加密数据对应的二进制表达序列。二进制指的是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制,通常用两个不同的符号0和1来表示。
示例性地,可以根据待加密数据包含的数据格式选择对应的编码算法,以将数据格式不是二进制的待加密数据转换为二进制表达序列。例如,若待加密数据为“staffWiFi”时,说明全是字母类型,可以直接采用美国信息交换标准代码(American Standard Codefor Information Interchange,简称ASCII)进行数据编码,当待发送数据为“staff123”时,说明包括字母类型和数字类型,可以采用UTF-8进行数据编码,当待发送数据为“密staff123”时,说明包括中文类型,可以采用GBK进行数据编码。
然后根据预设的编码算法对二进制表达序列进行编码处理,以得到待加密数据对应的字符表达序列,即得到第一中间数据。本公开实施例以第一中间数据为字符表达序列为例进行说明,可以理解的是,也可以将待加密数据转换为其它数据格式的表达序列以得到第一中间数据,本公开实施例对此不做限定。
需要说明的是,本公开中对待加密数据进行编码处理所使用的编码算法为可逆的算法,即对编码处理得到的数据进行解码后与编码处理之前的数据相同。例如,对待加密数据进行编码处理所使用的编码方法包括但不限于基于64个可打印字符来表示二进制数据(base64)。
步骤S120、获取第一中间数据中预设位置对应的标志数据,并对标志数据进行计算得到插入数据。
预设位置可以是相关技术人员提前设定的具体位置,如预设位置可以是第一中间数据的首部位置、第一中间数据的尾部位置等;也可以是根据预设判断规则对第一中间数据或待加密数据进行判断得到的,例如当第一中间数据的首部字符为数字时,则对应的预设位置可以是第一中间数据的首部位置,当第一中间数据的首部字符为字母时,则对应的预设位置可以是第一中间数据的尾部位置。
标志数据可以是第一中间数据中预设位置的原始数据,也可以是对第一中间数据中预设位置的原始数据进行转换得到的数据值。
例如,请参阅图2,待加密数据为“/<.*>/”,根据base64对待加密数据进行编码处理,得到的第一中间数据为“LzwuKj4vCg==”。其中,第一中间数据中预设位置为第一中间数据的首部位置,因此,得到第一中间数据的首部位置对应的原始数据为“L”。进一步地,对原始数据“L”进行ASCII转换,得到标志数据为“01001100”。可以理解的是,也可以将原始数据“L”通过其它转换方式,得到标志数据,本公开对此不做限定。
在一些实施方式中,获取第一中间数据中预设位置对应的标志数据,并对标志数据进行计算得到插入数据,包括:根据标志数据得到插入数量和插入位置;根据插入数量和插入位置生成随机数序列;根据随机数序列得到第一中间数据的每个插入位置对应的插入数据。
根据标志数据和预设的插入数据计算规则计算得到插入数据,以通过插入数据增加密文的破译难度,进而提高数据安全性。
示例性地,根据标志数据得到插入数量和插入位置,插入数量指的是插入数据的数量信息,插入位置指的是针对第一中间数据每个插入数据的位置信息。然后,根据插入数量和插入位置生成对应的随机数序列,随机数序列中包括多个随机数,每个随机数对应第一中间数据的每个插入位置的插入数据。
例如,如图2所示,第一中间数据为“LzwuKj4vCg==”,根据第一中间数据的首部位置对应的原始数据得到的标志数据为“01001100”。可以根据标志数据中“1”的数量得到插入数量,即插入数量为3。
进一步地,可以根据公式(1)计算插入位置:
Si=j*Len(RC)/Len(AC) (1)
其中,Si指的是随机数序列中第i个随机数对应第一中间数据的插入位置,j指的是“1”处于标志数据中的位置,Len(RC)指的是第一中间数据的数据长度,Len(AC)指的是标志数据的数据长度。
因此,通过计算得到随机数序列中第1个随机数对应第一中间数据的插入位置为第2位,随机数序列中第2个随机数对应第一中间数据的插入位置为第5位,随机数序列中第3个随机数对应第一中间数据的插入位置为第6位。
在一些实施方式中,根据插入数量以及插入位置,生成对应的随机数序列,包括:根据插入数量得到随机数的数量,以及根据插入位置得到每个随机数对应的随机数值;根据随机数的数量和每个随机数对应的随机数值,得到随机数序列。
例如,插入数量为3,则得到随机数的数量为3,然后根据插入位置得到每个随机数对应的随机数值,生成随机数序列为(a1,a2,a3)。其中,随机数序列中的第1个随机数a1对应的插入位置为第一中间数据的第2位,随机数序列中的第2个随机数a2对应的插入位置为第一中间数据的第5位,随机数序列中的第3个随机数a3对应的插入位置为第一中间数据的第6位。
需要说明的是,也可以采用其它预设的插入数据计算规则计算得到插入数据。例如,也可以根据标志数据中“0”的数量得到插入数量,还可以根据第一中间数据的数据长度与标志数据的数据长度之间的差值得到插入数量,可以根据“0”处于标志数据中的位置得到第一中间数据的插入位置等。插入数据的获取方法可以根据实际情况进行灵活选择,本公开对此不做限定。
可以理解的是,预设的插入数据计算规则以及标志数据的获取方式只有加密装置以及解密装置知道。
步骤S130、根据第一中间数据和所述插入数据,得到第二中间数据。
根据插入数据对第一中间数据进行数据插入操作,以得到第二中间数据。
在一些实施方式中,插入数据为随机数序列。如图2所示,第一中间数据为“LzwuKj4vCg==”,随机数序列为(a1,a2,a3),其中,a1对应的插入位置为第一中间数据的第2位,a2对应的插入位置为第一中间数据的第5位,a3对应的插入位置为第一中间数据的第6位。根据随机数序列以及随机数序列中每个随机数对应的插入位置,对第一中间数据执行数据插入操作,以得到第二中间数据为“Lza1wuKa2ja34vCg==”。
其中,由于插入数据是随机生成的随机数,且通过动态计算插入数据中各个随机数的插入位置,鉴于随机数本身的随机性以及插入位置的动态选择,提高了破解难度。
步骤S140、对第二中间数据进行数据格式转换处理,得到密文数据;其中,密文数据的数据格式与待加密数据的数据格式相同。
数据格式转换处理用于将第二中间数据的数据格式转换为待加密数据的数据格式,因此,通过数据格式转换处理得到的密文数据的数据格式与待加密数据的数据格式相同。
通过与待加密数据的数据格式相同的密文数据,可以得到容量较小的密文数据,避免密文数据相对于待加密数据的膨胀度过大,以在实现对待加密数据进行保护的同时,减轻保存密文数据的数据存储装置的负担。其中,膨胀度指的是密文数据的数据容量相对于待加密数据的数据容量的倍数关系,当密文数据的数据容量相对于待加密数据的数据容量的倍数越大,则膨胀度越大。
在一些实施方式中,对第二中间数据进行数据格式转换处理,得到密文数据,包括:获取与待加密数据的数据格式匹配的数据转换映射表;其中,数据转换映射表预置有第二中间数据的数据格式与待加密数据的数据格式的转换关系;根据数据转换映射表对第二中间数据进行数据格式转换处理,得到密文数据。
数据转换映射表是相关技术人员提前设置的,其中预置有第二中间数据的数据格式与待加密数据的数据格式的转换关系。
其中,不同数据格式的待加密数据对应不同的数据转换映射表,因此,需要获取与待加密数据的数据格式匹配的数据转换映射表,以根据该数据转换映射表对第二中间数据中的每个字符进行转换,进而得到转换后的密文数据。
可以理解的是,数据转换映射表只有加密装置以及解密装置知道。
例如,请参阅图3,第二中间数据为“Lza1wuKa2ja34vCg==”,将第二中间数据中每个字符转换为该字符对应的二进制表达序列,然后根据字符对应的二进制表达序列查询数据转换映射表,以得到第二中间数据中每个字符对应的密文表达,进而根据每个字符对应的密文表达,得到密文数据。如第二中间数据中字符“L”的二进制表达序列为“01001100”,根据“01001100”查询数据转换映射表得到第二中间数据中字符“L”的密文表达为“/[”。通过数据转换映射表对第二中间数据中所有字符进行转换,得到的密文数据为“/[*/tsS+w/na//Cxz\vln”。
请参阅图4,图4为本公开另一实施例中数据加密方法的数据流程图。如图4所示,对待加密数据进行编码处理,得到第一中间数据,根据第一中间数据中预设位置的数据值,得到标志数据。然后,根据标志数据计算得到插入数据,以根据插入数据对第一中间数据进行数据插入处理,得到第二中间数据。进一步地,根据第二中间数据以及预设的数据转换映射表,进行数据转换处理,以得到与待加密数据的数据格式相同的密文数据。
本公开实施例提供的数据加密方法,通过获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据;获取第一中间数据中预设位置对应的标志数据,并对标志数据进行计算得到插入数据;根据第一中间数据和插入数据,得到第二中间数据。以通过插入数据对第一中间数据进行动态插入处理得到第二中间数据,进而提高加密方法的破解难度。然后,通过对第二中间数据进行数据格式转换处理得到密文数据,以使得到的密文数据的数据格式与待加密数据的数据格式相同,进而可以得到容量较小的密文数据,减轻保存密文数据的数据存储装置的负担,且可以通过自定义的数据格式转换处理方法打乱待加密数据的信息,以实现对待加密数据的保护。
请参阅图5,图5为本公开实施例中数据解密方法的流程图,下面结合图5,对本公开示例性实施例中的数据解密方法进行说明。
步骤S510、获取密文数据,并对密文数据进行数据格式转换处理,得到第三中间数据。
其中,密文数据指的是不可直接理解的字符或比特集,是将明文数据中的信息进行打乱后得到的数据,但可通过算法对打乱的信息进行还原。
可以理解的是,本实施例步骤S510中的第三中间数据与步骤S140的第二中间数据等同。
示例性地,获取与密文数据的数据格式匹配的数据转换映射表;其中,数据转换映射表预置有密文数据的数据格式与第三中间数据的数据格式的转换关系;根据数据转换映射表对密文数据进行数据格式转换处理,得到第三中间数据。
数据转换映射表是相关技术人员提前设置的,其中预置有第三中间数据的数据格式与密文数据的数据格式的转换关系。
例如,请参阅图6,密文数据为“/[*/tsS+w/na//Cxz\vln”,根据数据转换映射表对密文数据中所有字符进行转换,得到密文数据中每个字符对应的二进制表达序列。然后根据密文数据中每个字符对应的二进制表达序列,得到密文数据中每个字符对应的第三中间数据表达,以根据每个字符对应的第三中间数据表达得到第三中间数据。如,密文数据中字符“/[”对应的二进制表达序列为“01001100”,然后,对二进制表达序列为“01001100”进行ASCII转换,得到第三中间数据表达为“L”。通过数据转换映射表对密文数据中所有字符进行转换,最终得到的第三中间数据为“Lza1wuKa2ja34vCg==”。
步骤S520、获取第三中间数据中预设位置对应的标志数据,对标志数据进行计算得到插入数据。
需要说明的是,步骤S520中第三中间数据的预设位置与步骤S120中第一中间数据的预设位置所对应的数据值相同。
需要说明的是,根据标志数据进行计算得到插入数据的方式与步骤S120中的方法相同。
在一些实施例中,第三中间数据中预设位置为首部位置,以简化加密与解密的计算过程。
例如,第三中间数据为“Lza1wuKa2ja34vCg==”,得到第三中间数据的首部位置对应的原始数据为“L”。进一步地,对原始数据“L”进行ASCII转换,得到标志数据为“01001100”。然后根据标志数据计算得到的插入数据为第三中间数据中第2位字符后的数据值“1”,第三中间数据中第6位字符后的数据值“2”,第三中间数据中第8位字符后的数据值“3”。
步骤S530、根据第三中间数据以及插入数据,得到第四中间数据。
根据插入数据对第三中间数据进行数据删除操作,以得到第四中间数据。
可以理解的是,本实施例步骤S530中的第四中间数据与步骤S110的第一中间数据等同。
例如,第三中间数据为“Lza1wuKa2ja34vCg==”,插入数据包括第三中间数据中第2位字符后的数据值“1”,第三中间数据中第6位字符后的数据值“2”,第三中间数据中第8位字符后的数据值“3”。根据插入数据对第三数据进行数据删除操作,得到的第四中间数据为“LzwuKj4vCg==”。
步骤S540、对第四中间数据进行解码处理,得到明文数据;其中,密文数据的数据格式与明文数据的数据格式相同。
其中,解码处理为编码处理的逆过程。
需要说明的是,采用步骤S110中编码处理的编码算法所对应的解码算法,对第四中间数据进行解码处理,以得到明文数据。
例如,对第四中间数据“LzwuKj4vCg==”进行解码处理,得到的明文数据为“/<.*>/”。
本公开实施例提供的数据解密方法,通过获取密文数据,并对密文数据进行数据格式转换处理,得到第三中间数据;获取第三中间数据中预设位置对应的标志数据,对标志数据进行计算得到插入数据;根据第三中间数据以及插入数据,得到第四中间数据;对第四中间数据进行解码处理,得到明文数据;其中,密文数据的数据格式与明文数据的数据格式相同。通过与待加密数据的数据格式相同的密文数据,可以减小密文数据的容量,减轻保存密文数据的数据存储装置的负担,且通过对中间数据的计算得到明文数据,在保证数据安全的前提下,简化了解密过程,降低了解密装置的计算性能要求。
进一步的,本示例实施方式中还提供了一种数据加密装置700。参照图7所示,该数据加密装置700包括:加密转换模块710,加密数据计算模块720,加密数据插入模块730,密文生成模块740。
加密转换模块710用于获取待加密数据,并对待加密数据进行编码处理,得到第一中间数据。
加密数据计算模块720用于获取第一中间数据中预设位置对应的标志数据,对标志数据进行计算得到插入数据。
加密数据插入模块730用于根据第一中间数据以及插入数据,得到第二中间数据。
密文生成模块740用于对第二中间数据进行数据格式转换处理,得到密文数据;其中,密文数据的数据格式和待加密数据的数据格式相同。
在一些实施方式中,基于前述方案,加密数据计算模块720包括数量及位置计算模块、随机数生成模块以及插入数据获取模块:
数量及位置计算模块用于根据标志数据得到插入数量和插入位置;
随机数生成模块用于根据插入数量和插入位置生成随机数序列;
插入数据获取模块用于根据随机数序列得到第一中间数据的每个插入位置对应的插入数据。
在一些实施方式中,基于前述方案,数量及位置计算模块包括数量计算模块以及位置计算模块:
数量计算模块用于根据标志数据的数据长度以及第一中间数据的数据长度,计算得到插入数据针对第一中间数据的插入数量;
位置计算模块用于根据标志数据中预设字符处于标志数据的位置信息,得到插入数据针对第一中间数据的插入位置。
在一些实施方式中,基于前述方案,随机数生成模块包括单随机数生成模块以及序列生成模块:
单随机数生成模块用于根据插入数量得到随机数的数量,以及根据插入位置得到每个随机数对应的随机数值;
序列生成模块用于根据随机数的数量和每个随机数对应的随机数值,得到随机数序列。
在一些实施方式中,基于前述方案,加密转换模块710包括二进制转换模块以及字符转换模块:
二进制转换模块用于获取待加密数据对应的二进制表达序列;
字符转换模块用于根据预设的编码算法对二进制表达序列进行编码处理,得到待加密数据对应的字符表达序列,并将字符表达序列作为第一中间数据。
在一些实施例中,基于前述方案,密文生成模块740包括映射表获取模块以及混淆模块:
映射表获取模块用于获取与待加密数据的数据格式匹配的数据转换映射表;其中,数据转换映射表预置有第二中间数据的数据格式与待加密数据的数据格式的转换关系;
混淆模块用于根据数据转换映射表对第二中间数据进行数据格式转换处理,得到密文数据。
进一步的,本示例实施方式中还提供了另一种数据解密装置800。参照图8所示,该数据解密装置800包括:解密转换模块810,解密数据计算模块820,解密数据删除模块830以及明文数据获取模块840。
解密转换模块810用于获取密文数据,并对密文数据进行数据格式转换处理,得到第三中间数据。
解密数据计算模块820用于获取第三中间数据中预设位置对应的标志数据,对标志数据进行计算得到插入数据。
解密数据删除模块830用于根据第三中间数据以及插入数据,得到第四中间数据。
明文数据获取模块840用于对第四中间数据进行解码处理,得到明文数据;其中,密文数据的数据格式与明文数据的数据格式相同。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
应当注意,尽管在上文详细描述中提及了数据加密装置以及数据解密装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述数据加密方法以及数据解密方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本公开的这种实施例的电子设备900。图9所示的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940。
其中,存储单元存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(ROM)923。
存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备970(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
以上具体地示出和描述了本公开示例性实施方式。可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种数据加密方法,其特征在于,所述方法包括:
获取待加密数据,并对所述待加密数据进行编码处理,得到第一中间数据;
获取所述第一中间数据中预设位置对应的标志数据,并对所述标志数据进行计算得到插入数据;
根据所述第一中间数据和所述插入数据,得到第二中间数据;
对所述第二中间数据进行数据格式转换处理,得到密文数据;其中,所述密文数据的数据格式与所述待加密数据的数据格式相同。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一中间数据中预设位置对应的标志数据,并对所述标志数据进行计算得到插入数据,包括:
根据所述标志数据得到插入数量和插入位置;
根据所述插入数量和所述插入位置生成随机数序列;
根据所述随机数序列得到所述第一中间数据的每个插入位置对应的插入数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述标志数据得到插入数量和插入位置,包括:
根据所述标志数据的数据长度以及所述第一中间数据的数据长度,计算得到所述插入数据针对所述第一中间数据的插入数量;以及,
根据所述标志数据中预设字符处于所述标志数据的位置信息,得到所述插入数据针对所述第一中间数据的插入位置。
4.根据权利要求2所述的方法,其特征在于,所述根据所述插入数量和所述插入位置生成随机数序列,包括:
根据所述插入数量得到随机数的数量,以及根据所述插入位置得到每个随机数对应的随机数值;
根据所述随机数的数量和所述每个随机数对应的随机数值,得到所述随机数序列。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取待加密数据,并对所述待加密数据进行编码处理,得到第一中间数据,包括:
获取所述待加密数据对应的二进制表达序列;
根据预设的编码算法对所述二进制表达序列进行编码处理,得到所述待加密数据对应的字符表达序列,并将所述字符表达序列作为所述第一中间数据。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述对所述第二中间数据进行数据格式转换处理,得到密文数据,包括:
获取与所述待加密数据的数据格式匹配的数据转换映射表;其中,所述数据转换映射表预置有所述第二中间数据的数据格式与所述待加密数据的数据格式的转换关系;
根据所述数据转换映射表对所述第二中间数据进行数据格式转换处理,得到所述密文数据。
7.一种数据解密方法,其特征在于,所述方法包括:
获取密文数据,并对所述密文数据进行数据格式转换处理,得到第三中间数据;
获取所述第三中间数据中预设位置对应的标志数据,对所述标志数据进行计算得到插入数据;
根据所述第三中间数据以及所述插入数据,得到第四中间数据;
对所述第四中间数据进行解码处理,得到明文数据;其中,所述密文数据的数据格式与所述明文数据的数据格式相同。
8.一种数据加密装置,其特征在于,包括:
加密转换模块,用于获取待加密数据,并对所述待加密数据进行编码处理,得到第一中间数据;
加密数据计算模块,用于获取所述第一中间数据中预设位置对应的标志数据,对所述标志数据进行计算得到插入数据;
加密数据插入模块,用于根据所述第一中间数据以及所述插入数据,得到第二中间数据;
密文生成模块,用于对所述第二中间数据进行数据格式转换处理,得到密文数据;其中,所述密文数据的数据格式和所述待加密数据的数据格式相同。
9.一种数据解密装置,其特征在于,包括:
解密转换模块,用于获取密文数据,并对所述密文数据进行数据格式转换处理,得到第三中间数据;
解密数据计算模块,用于获取所述第三中间数据中预设位置对应的标志数据,对所述标志数据进行计算得到插入数据;
解密数据删除模块,用于根据所述第三中间数据以及所述插入数据,得到第四中间数据;
明文数据获取模块,用于对所述第四中间数据进行解码处理,得到明文数据;其中,所述密文数据的数据格式与所述明文数据的数据格式相同。
10.一种电子设备,其特征在于,包括:
存储器以及处理器;
所述存储器用于存储计算机可执行的程序;
所述处理器用于调用所述计算机可执行的程序以实现如权利要求1至6中任一项所述的数据加密方法,或者实现如权利要求7中所述的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111595177.7A CN114329536A (zh) | 2021-12-23 | 2021-12-23 | 数据加密方法及装置、数据解密方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111595177.7A CN114329536A (zh) | 2021-12-23 | 2021-12-23 | 数据加密方法及装置、数据解密方法及装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329536A true CN114329536A (zh) | 2022-04-12 |
Family
ID=81013712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111595177.7A Pending CN114329536A (zh) | 2021-12-23 | 2021-12-23 | 数据加密方法及装置、数据解密方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329536A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115085906A (zh) * | 2022-08-18 | 2022-09-20 | 中钜(陕西)工程咨询管理有限公司 | 一种工程造价数据的储存方法 |
CN115225389A (zh) * | 2022-07-21 | 2022-10-21 | 平安信托有限责任公司 | 通信加密的方法、装置、设备及存储介质 |
-
2021
- 2021-12-23 CN CN202111595177.7A patent/CN114329536A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225389A (zh) * | 2022-07-21 | 2022-10-21 | 平安信托有限责任公司 | 通信加密的方法、装置、设备及存储介质 |
CN115085906A (zh) * | 2022-08-18 | 2022-09-20 | 中钜(陕西)工程咨询管理有限公司 | 一种工程造价数据的储存方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110337649B (zh) | 用于搜索模式未察觉的动态对称可搜索加密的方法和系统 | |
US7961871B2 (en) | Encryption process, encryption device, and computer-readable medium storing encryption program | |
CN111683046B (zh) | 文件压缩以及获取的方法、装置、设备及存储介质 | |
CN114329536A (zh) | 数据加密方法及装置、数据解密方法及装置、电子设备 | |
WO2019114122A1 (zh) | 登录信息的加密方法、装置、电子设备及介质 | |
CN106610995B (zh) | 一种创建密文索引的方法、装置及系统 | |
US11902417B2 (en) | Computer-implemented method of performing format-preserving encryption of a data object of variable size | |
CN110704854B (zh) | 针对文本数据保留格式的流式加密方法 | |
Kataria et al. | ECR (encryption with cover text and reordering) based text steganography | |
WO2016045641A2 (zh) | 数据块储存方法、数据查询方法和数据修改方法 | |
CN115941189B (zh) | 一种用于文档数据的加密方法 | |
CN113014580A (zh) | 文件传输方法、装置、电子设备及存储介质 | |
CN112016104A (zh) | 一种金融敏感数据的加密方法、装置和系统 | |
CA3061776A1 (en) | Key information processing method and apparatus, electronic device and computer readable medium | |
KR100876525B1 (ko) | 다국어 텍스트 문자열 암호화를 위한 대칭키 암호 알고리즘보완 방법 | |
US20200327239A1 (en) | Encrypting/Decrypting Method for Multi-Digit Number and Encrypting/Decrypting Server | |
Gaur et al. | A new PDAC (parallel encryption with digit arithmetic of cover text) based text steganography approach for cloud data security | |
Balajee | UNICODE and Colors Integration tool for Encryption and Decryption | |
CN102571323A (zh) | 非标准字符库处理方法和装置以及引用该方法和装置的系统 | |
CN115114279A (zh) | 置换表生成方法、数据加、解密方法及装置、介质、设备 | |
Manikandasaran et al. | MONcrypt: a technique to ensure the confidentiality of outsourced data in cloud storage | |
CN114968206A (zh) | 一种编程语言代码动态混淆方法及系统 | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
US20220311596A1 (en) | A computer-implemented method of performing feistel-network-based block-cipher encryption of plaintext | |
CN113486379A (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 |