CN114218582A - 一种数据库的数据加密方法及终端 - Google Patents
一种数据库的数据加密方法及终端 Download PDFInfo
- Publication number
- CN114218582A CN114218582A CN202111367743.9A CN202111367743A CN114218582A CN 114218582 A CN114218582 A CN 114218582A CN 202111367743 A CN202111367743 A CN 202111367743A CN 114218582 A CN114218582 A CN 114218582A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- data
- target
- encryption
- mapping table
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种数据库的数据加密方法及终端,根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据,有利于保证密文的唯一性,在数据查询时,从现有技术的解密数据库中所有数据变为加密待查询数据,实现降低资源消耗的同时,提高对加密数据的查询效率。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种数据库的数据加密方法及终端。
背景技术
伴随着网络信息的发展,网络影响着人们生活的各个方面,随之而来的数据的安全性要求也越来越高,敏感数据在数据库中要求是密文加密以确保数据安全。数据加密技术是数据安全的核心技术,保护数据安全使之不被窃取,不被篡改或破坏,而用户将会遇到如何在密文上进行查找的难题。
现有技术中,对数据库中的数据进行加密一般是对数据进行AES(AdvancedEncryption Standard,高级加密标准)对称加密,对加密数据进行搜索时,通常采用两种方法,一是传入明文和密钥,利用密钥以及数据库自带的解密方法进行解密,再和明文进行内容模糊查询,这种方式依赖于数据库需要具有加密算法的相应解密方法,在每次进行搜索时都需要将所有的数据进行解密,然后再进行搜索;二是将加密数据从数据库中全部读取到内存,全部进行解密,解密后再根据明文进行模糊查询。以上两种方法都存在消耗大量的资源,等待时间过长等缺点。
发明内容
本发明所要解决的技术问题是:提供一种数据库的数据加密方法及终端,能够在降低资源消耗的同时,提高对加密数据的查询效率。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种数据库的数据加密方法,包括:
根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;
将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;
根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;
基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种数据库的数据加密终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;
将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;
根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;
基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据。
本发明的有益效果在于:在数据加密时,不再像现有技术中,使用AES对称加密,而是基于目标加密映射表对待加密数据进行加密,得到初始密文,将随机数加入初始密文的预设位置,得到最终密文,并将其保存至数据库中,以此完成数据加密,按照加密映射表进行加密,且将随机数加入初始密文的预设位置,有利于保证密文的唯一性,且便于后续进行数据查询,在数据查询时,无需对数据库中的所有加密数据进行解密搜索,而是对待查询数据进行加密,得到密文集,基于密文集对数据库进行查询,得到目标密文,从现有技术的解密数据库中所有数据变为加密待查询数据,实现降低资源消耗的同时,提高对加密数据的查询效率。
附图说明
图1为本发明实施例的一种数据库的数据加密方法的步骤流程图;
图2为本发明实施例的一种数据库的数据加密方法的结构示意图;
图3为本发明实施例数据库的数据加密方法中的数据加密流程示意图;
图4为本发明实施例数据库的数据加密方法中的数据查询流程示意图;
图5为本发明实施例数据库的数据加密方法中的加密映射表示意图;
图6为本发明实施例数据库的数据加密方法中的目标加密映射表示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例提供了一种数据库的数据加密方法,包括:
根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;
将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;
根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;
基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据。
从上述描述可知,本发明的有益效果在于:在数据加密时,不再像现有技术中,使用AES对称加密,而是基于目标加密映射表对待加密数据进行加密,得到初始密文,将随机数加入初始密文的预设位置,得到最终密文,并将其保存至数据库中,以此完成数据加密,按照加密映射表进行加密,且将随机数加入初始密文的预设位置,有利于保证密文的唯一性,且便于后续进行数据查询,在数据查询时,无需对数据库中的所有加密数据进行解密搜索,而是对待查询数据进行加密,得到密文集,基于密文集对数据库进行查询,得到目标密文,从现有技术的解密数据库中所有数据变为加密待查询数据,实现降低资源消耗的同时,提高对加密数据的查询效率。
进一步地,所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表之前包括:
确定预设个数的加密映射表;
所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表包括:
根据接收的待加密数据的加密请求从预设范围中获取随机数;
以所述预设个数为模数,对所述随机数取所述模数的余数;
根据所述余数从所述预设个数的加密映射表中确定目标加密映射表。
由上述描述可知,从预先设置的一定数量的加密映射表中随机确定目标加密映射表,后续利用随机确定的目标加密映射表对数据进行加密,提高了数据加密的安全性。
进一步地,所述基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文包括:
将所述待加密数据根据二进制编码对照表得到对应的待加密数值;
根据所述目标加密映射表对所述待加密数值进行映射,得到映射值;
将所述映射值转化成第一预设进制数,得到初始密文;
所述将所述随机数加入所述初始密文的预设位置,得到最终密文包括:
将所述随机数转化成所述第一预设进制数加入所述初始密文的预设位置,得到最终密文。
由上述描述可知,进行加密时,先将待加密数据转换成待加密数值,再根据目标加密映射表对待加密数值进行映射,然后将映射值转化成第一预设进制数,得到初始密文,最后将随机数转化成第一预设进制数加入初始密文的预设位置,得到最终密文,增加了最终密文的复杂度,进而提高了加密的安全性和可靠性。
进一步地,所述根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集包括:
根据接收的待查询数据的查询请求逐一使用所述预设个数的加密映射表对所述待查询数据进行加密,得到密文集;
所述基于所述密文集对所述数据库进行查询,得到目标密文包括:
获取所述数据库中的所述最终密文,并去除所述最终密文的所述预设位置上的密文,得到所述初始密文;
遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历,将遍历到的目标待查询密文与所述初始密文进行匹配;
所述匹配时判断所述初始密文中是否包括了所述目标待查询密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤,若是,则根据所述预设位置上的密文确定所述初始密文对应的目标加密映射表;
判断所述目标加密映射表与所述目标待查询密文对应的加密映射表是否一致,若是,则将所述最终密文确定为目标密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤。
由上述描述可知,需要查询数据时,不对数据库中的加密数据进行全部解密,而是先逐一使用所有的加密映射表对待查询数据进行加密,得到一系列的密文集,去除数据库中的最终密文的预设位置上的密文,得到初始密文,先将初始密文和密文集中的待查询密文一一匹配,当初始密文中包括了目标待查询密文,则根据预设位置上的密文判断初始密文和待查询密文是否使用同一张加密映射表,若是,就可以将其确定为目标密文,然后再对其进行解密,从而实现了数据库的数据模糊查询,由于无需对数据库中的所有数据进行解密,进一步提高了数据库数据的安全性。
进一步地,所述根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据包括:
去除所述目标密文的所述预设位置上的密文,得到目标初始密文,并将所述目标初始密文转化成第二预设进制数,得到转化后的目标初始密文;
根据所述目标加密映射表对所述转化后的目标初始密文进行反向映射,得到反向映射值;
基于所述二进制编码对照表与所述反向映射值得到所述待查询数据对应的目标数据。
由上述描述可知,对目标密文进行解密时,去除目标密文的预设位置上的密文,并将得到的目标初始密文转化成第二预设进制数,得到转化后的目标初始密文,根据目标加密映射表对转化后的目标初始密文进行反向映射,得到反向映射值,最后基于二进制编码对照表与反向映射值得到待查询数据对应的目标数据,从而实现了数据库中的密文解密。
请参照图2,本发明另一实施例提供了一种数据库的数据加密终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;
将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;
根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;
基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据。
从上述描述可知,本发明的有益效果在于:在数据加密时,不再像现有技术中,使用AES对称加密,而是基于目标加密映射表对待加密数据进行加密,得到初始密文,将随机数加入初始密文的预设位置,得到最终密文,并将其保存至数据库中,以此完成数据加密,按照加密映射表进行加密,且将随机数加入初始密文的预设位置,有利于保证密文的唯一性,且便于后续进行数据查询,在数据查询时,无需对数据库中的所有加密数据进行解密搜索,而是对待查询数据进行加密,得到密文集,基于密文集对数据库进行查询,得到目标密文,从现有技术的解密数据库中所有数据变为加密待查询数据,实现降低资源消耗的同时,提高对加密数据的查询效率。
进一步地,所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表之前包括:
确定预设个数的加密映射表;
所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表包括:
根据接收的待加密数据的加密请求从预设范围中获取随机数;
以所述预设个数为模数,对所述随机数取所述模数的余数;
根据所述余数从所述预设个数的加密映射表中确定目标加密映射表。
由上述描述可知,从预先设置的一定数量的加密映射表中随机确定目标加密映射表,后续利用随机确定的目标加密映射表对数据进行加密,提高了数据加密的安全性。
进一步地,所述基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文包括:
将所述待加密数据根据二进制编码对照表得到对应的待加密数值;
根据所述目标加密映射表对所述待加密数值进行映射,得到映射值;
将所述映射值转化成第一预设进制数,得到初始密文;
所述将所述随机数加入所述初始密文的预设位置,得到最终密文包括:
将所述随机数转化成所述第一预设进制数加入所述初始密文的预设位置,得到最终密文。
由上述描述可知,进行加密时,先将待加密数据转换成待加密数值,再根据目标加密映射表对待加密数值进行映射,然后将映射值转化成第一预设进制数,得到初始密文,最后将随机数转化成第一预设进制数加入初始密文的预设位置,得到最终密文,增加了最终密文的复杂度,进而提高了加密的安全性和可靠性。
进一步地,所述根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集包括:
根据接收的待查询数据的查询请求逐一使用所述预设个数的加密映射表对所述待查询数据进行加密,得到密文集;
所述基于所述密文集对所述数据库进行查询,得到目标密文包括:
获取所述数据库中的所述最终密文,并去除所述最终密文的所述预设位置上的密文,得到所述初始密文;
遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历,将遍历到的目标待查询密文与所述初始密文进行匹配;
所述匹配时判断所述初始密文中是否包括了所述目标待查询密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤,若是,则根据所述预设位置上的密文确定所述初始密文对应的目标加密映射表;
判断所述目标加密映射表与所述目标待查询密文对应的加密映射表是否一致,若是,则将所述最终密文确定为目标密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤。
由上述描述可知,需要查询数据时,不对数据库中的加密数据进行全部解密,而是先逐一使用所有的加密映射表对待查询数据进行加密,得到一系列的密文集,去除数据库中的最终密文的预设位置上的密文,得到初始密文,先将初始密文和密文集中的待查询密文一一匹配,当初始密文中包括了目标待查询密文,则根据预设位置上的密文判断初始密文和待查询密文是否使用同一张加密映射表,若是,就可以将其确定为目标密文,然后再对其进行解密,从而实现了数据库的数据模糊查询,由于无需对数据库中的所有数据进行解密,进一步提高了数据库数据的安全性。
进一步地,所述根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据包括:
去除所述目标密文的所述预设位置上的密文,得到目标初始密文,并将所述目标初始密文转化成第二预设进制数,得到转化后的目标初始密文;
根据所述目标加密映射表对所述转化后的目标初始密文进行反向映射,得到反向映射值;
基于所述二进制编码对照表与所述反向映射值得到所述待查询数据对应的目标数据。
由上述描述可知,对目标密文进行解密时,去除目标密文的预设位置上的密文,并将得到的目标初始密文转化成第二预设进制数,得到转化后的目标初始密文,根据目标加密映射表对转化后的目标初始密文进行反向映射,得到反向映射值,最后基于二进制编码对照表与反向映射值得到待查询数据对应的目标数据,从而实现了数据库中的密文解密。
本发明上述数据库的数据加密方法及终端能够适用于任何需要对源数据进行数据加密,存储密文的数据库中,以下通过具体实施方式进行说明:
实施例一
请参照图1、3、5,本实施例的一种数据库的数据加密方法,包括:
S0、确定预设个数的加密映射表;
其中,所述预设个数可根据实际情况自行设置,比如,根据需要的安全性以及搜索效率设置所述预设个数,安全性越高加密映射表越多;搜索效率越高加密映射表越少;
所述加密映射表包括第一预设值和与所述第一预设值对应的第二预设值;
在另一种可选的实施方式中,假设数据在计算机上的存储都是以GB2312-80 国标码来存储,则第一预设值的范围为GB2312-80国标码中的编码范围,第二预设值的范围取1~第一预设值的总个数,如加密映射表中第一预设值为1601,第二预设值为0004,则表示汉字“啊”加密后由数字0004表示;
在一种可选的实施方式中,假设数据在计算机上的存储都是以ASCⅡ码来存储,每个字节包含8位二进制数;8位二进制数即十进制数字0-255,因此所述第一预设值与所述第二预设值的范围均为0-255;加密映射表即存储第一预设值和第二预设值的映射关系,如加密映射表中第一预设值为2,第二预设值为5,则表示数字2加密后由数字5表示;
具体的,如图3、5所示,还包括,生成预设个数的加密映射表后,对所述预设个数的加密映射表进行去重处理,即在同一个加密映射表中每一第一预设值映射成的第二预设值均不同,并且不同加密映射表中的每一对第一预设值和第二预设值均不同,比如存在一个加密映射表将0映射成1后,其他加密映射表中的0不能映射成1,从而能够确保在加密过程中相同的明文数据通过不同的加密映射表不会被加密成相同的密文;
如图5所示,图5中左边列即为所述第一预设值,右边列即为所述第二预设值;
S1、根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;
具体的,如图3所示,所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表包括:
S11、根据接收的待加密数据的加密请求从预设范围中获取随机数;
其中,所述预设范围为0-255;
S12、以所述预设个数为模数,对所述随机数取所述模数的余数;
具体的,以加密映射表的预设个数为模数,对随机数取模数的余数;
S13、根据所述余数从所述预设个数的加密映射表中确定目标加密映射表;
其中,每个加密映射表都有对应的编号,便于根据余数确定目标加密映射表;
比如,预设个数为20,随机数为25,则对随机数25取模数20的余数为5,那么从20个加密映射表中将第5个加密映射表确定为目标加密映射表;
S2、将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;
S3、根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;
S4、基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据。
实施例二
请参照图3、6,本实施例在实施例一的基础上进一步限定了如何对待加密数据进行加密,具体为:
如图3所示,所述S1中基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文包括:
S14、将所述待加密数据根据二进制编码对照表得到对应的待加密数值;
S15、根据所述目标加密映射表对所述待加密数值进行映射,得到映射值;
S16、将所述映射值转化成第一预设进制数,得到初始密文;
在一种可选的实施方式中,所述第一预设进制数为十六进制数,所述二进制编码对照表为ASCII码对照表,则如图5所示;
具体的,假设待加密数据为52648,将52648根据二进制编码对照表得到对应的待加密数值,即53,50,54,52,56,如图6所示的加密映射表为确定的目标加密映射表,则53映射为55,50映射为76,54映射为46,52映射为 120,56映射为18,得到映射值55,76,46,120,18,将映射值转化为十六进制数,得到初始密文374c2e7812;
所述S2中将所述随机数加入所述初始密文的预设位置,得到最终密文包括:
将所述随机数转化成所述第一预设进制数加入所述初始密文的预设位置,得到最终密文;
其中,所述预设位置为所述初始密文的末尾位置;
具体的,假设如图6所示的目标加密映射表对应的随机数为25,则将随机数25转化成十六进制数,即19,则得到最终密文374c2e781219,随机数用于在解密时确定多张加密映射表中具体哪一张是目标加密映射表。
实施例三
请参照图4、6,本实施例在实施例一或实施例二的基础上进一步限定了如何对待查询数据进行查询,具体为:
如图4所示,所述S3具体为:
根据接收的待查询数据的查询请求逐一使用所述预设个数的加密映射表对所述待查询数据进行加密,得到密文集;
具体的,进行数据查询时,需使用每一加密映射表对待查询数据进行加密,得到一系列密文,即密文集;
其中,加密方式如上所述,在此不再赘述;
所述S4中基于所述密文集对所述数据库进行查询,得到目标密文包括:
S41、获取所述数据库中的所述最终密文,并去除所述最终密文的所述预设位置上的密文,得到所述初始密文;
具体的,获取数据库中的最终密文,并去除最终密文的末尾两位的密文,得到初始密文;
S42、遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历,将遍历到的目标待查询密文与所述初始密文进行匹配;
S43、所述匹配时判断所述初始密文中是否包括了所述目标待查询密文,若否,则返回执行所述S42,若是,则根据所述预设位置上的密文确定所述初始密文对应的目标加密映射表;
其中,所述初始密文指的是去除预设位置上的密文后的;
具体的,获取所述初始密文对应的最终密文,并获取所述最终密文上预设位置上的密文,即随机数,根据随机数确定初始密文对应的目标加密映射表;
比如,所述预设位置上的密文为19,所述预设个数为20,所述预设位置上的密文为十六进制数,则将19转化为十进制为25,25即为随机数,对随机数 25取20的余数为5,则能够确定该初始密文对应的目标加密映射表为第5个加密映射表;
S44、判断所述目标加密映射表与所述目标待查询密文对应的加密映射表是否一致,若是,则将所述最终密文确定为目标密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤;
即在步骤S43中已确定初始密文包括了目标待查询密文,若初始密文对应的目标加密映射表和目标待查询密文对应的加密映射表相同,则二者的加密方式也相同,可以确定加密前的内容也相同;
所述S4中根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据包括:
S45、去除所述目标密文的所述预设位置上的密文,得到目标初始密文,并将所述目标初始密文转化成第二预设进制数,得到转化后的目标初始密文;
所述第二预设进制数与确定的所述随机数的进制数相同,如随机数为十进制数25,则所述第二预设进制数为十进制数;
具体的,假设目标密文为374c2e78124e,去除末尾两位密文,得到目标初始密文374c2e7812,将目标初始密文转化成十进制数,得到55,76,46,120, 18;
S46、根据所述目标加密映射表对所述转化后的目标初始密文进行反向映射,得到反向映射值;
具体的,根据如图6所示的第5个加密映射表将55,76,46,120,18进行反向映射,得到反向映射值53,50,54,52,56;
S47、基于所述二进制编码对照表与所述反向映射值得到所述待查询数据对应的目标数据;
具体的,基于二进制编码对照表与反向映射值53,50,54,52,56得到目标数据52648。
实施例四
请参照图2,一种数据库的数据加密终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一、实施例二或实施例三中的数据库的数据加密方法中的各个步骤。
综上所述,本发明提供的一种数据库的数据加密方法及终端,根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据,具体的,在数据加密时,将待加密数据根据二进制编码对照表得到对应的待加密数值;根据目标加密映射表对待加密数值进行映射,将映射值转化成第一预设进制数,得到初始密文,将随机数转化成第一预设进制数加入初始密文的预设位置,得到最终密文,增加了最终密文的复杂度,有利于保证密文的唯一性,且便于后续进行数据查询,进而提高了加密的安全性和可靠性;在数据查询时,无需对数据库中的所有加密数据进行解密搜索,而是逐一使用预设个数的加密映射表对待查询数据进行加密,得到密文集,基于密文集对数据库进行查询,得到目标密文,从现有技术的解密数据库中所有数据变为加密待查询数据,实现降低资源消耗的同时,提高对加密数据的查询效率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据库的数据加密方法,其特征在于,包括:
根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;
将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;
根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;
基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据。
2.根据权利要求1所述的一种数据库的数据加密方法,其特征在于,所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表之前包括:
确定预设个数的加密映射表;
所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表包括:
根据接收的待加密数据的加密请求从预设范围中获取随机数;
以所述预设个数为模数,对所述随机数取所述模数的余数;
根据所述余数从所述预设个数的加密映射表中确定目标加密映射表。
3.根据权利要求1所述的一种数据库的数据加密方法,其特征在于,所述基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文包括:
将所述待加密数据根据二进制编码对照表得到对应的待加密数值;
根据所述目标加密映射表对所述待加密数值进行映射,得到映射值;
将所述映射值转化成第一预设进制数,得到初始密文;
所述将所述随机数加入所述初始密文的预设位置,得到最终密文包括:
将所述随机数转化成所述第一预设进制数加入所述初始密文的预设位置,得到最终密文。
4.根据权利要求2所述的一种数据库的数据加密方法,其特征在于,所述根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集包括:
根据接收的待查询数据的查询请求逐一使用所述预设个数的加密映射表对所述待查询数据进行加密,得到密文集;
所述基于所述密文集对所述数据库进行查询,得到目标密文包括:
获取所述数据库中的所述最终密文,并去除所述最终密文的所述预设位置上的密文,得到所述初始密文;
遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历,将遍历到的目标待查询密文与所述初始密文进行匹配;
所述匹配时判断所述初始密文中是否包括了所述目标待查询密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤,若是,则根据所述预设位置上的密文确定所述初始密文对应的目标加密映射表;
判断所述目标加密映射表与所述目标待查询密文对应的加密映射表是否一致,若是,则将所述最终密文确定为目标密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤。
5.根据权利要求4所述的一种数据库的数据加密方法,其特征在于,所述根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据包括:
去除所述目标密文的所述预设位置上的密文,得到目标初始密文,并将所述目标初始密文转化成第二预设进制数,得到转化后的目标初始密文;
根据所述目标加密映射表对所述转化后的目标初始密文进行反向映射,得到反向映射值;
基于所述二进制编码对照表与所述反向映射值得到所述待查询数据对应的目标数据。
6.一种数据库的数据加密终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
根据接收的待加密数据的加密请求获取随机数和目标加密映射表,并基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文;
将所述随机数加入所述初始密文的预设位置,得到最终密文,并将所述最终密文保存至数据库;
根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集;
基于所述密文集对所述数据库进行查询,得到目标密文,并根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据。
7.根据权利要求6所述的一种数据库的数据加密终端,其特征在于,所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表之前包括:
确定预设个数的加密映射表;
所述根据接收的待加密数据的加密请求获取随机数和目标加密映射表包括:
根据接收的待加密数据的加密请求从预设范围中获取随机数;
以所述预设个数为模数,对所述随机数取所述模数的余数;
根据所述余数从所述预设个数的加密映射表中确定目标加密映射表。
8.根据权利要求6所述的一种数据库的数据加密终端,其特征在于,所述基于所述目标加密映射表对所述待加密数据进行加密,得到初始密文包括:
将所述待加密数据根据二进制编码对照表得到对应的待加密数值;
根据所述目标加密映射表对所述待加密数值进行映射,得到映射值;
将所述映射值转化成第一预设进制数,得到初始密文;
所述将所述随机数加入所述初始密文的预设位置,得到最终密文包括:
将所述随机数转化成所述第一预设进制数加入所述初始密文的预设位置,得到最终密文。
9.根据权利要求7所述的一种数据库的数据加密终端,其特征在于,所述根据接收的待查询数据的查询请求对所述待查询数据进行加密,得到密文集包括:
根据接收的待查询数据的查询请求逐一使用所述预设个数的加密映射表对所述待查询数据进行加密,得到密文集;
所述基于所述密文集对所述数据库进行查询,得到目标密文包括:
获取所述数据库中的所述最终密文,并去除所述最终密文的所述预设位置上的密文,得到所述初始密文;
遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历,将遍历到的目标待查询密文与所述初始密文进行匹配;
所述匹配时判断所述初始密文中是否包括了所述目标待查询密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤,若是,则根据所述预设位置上的密文确定所述初始密文对应的目标加密映射表;
判断所述目标加密映射表与所述目标待查询密文对应的加密映射表是否一致,若是,则将所述最终密文确定为目标密文,若否,则返回执行所述遍历所述密文集中的每一待查询密文直至所述密文集中的所有待查询密文均已遍历步骤。
10.根据权利要求9所述的一种数据库的数据加密终端,其特征在于,所述根据所述目标加密映射表对所述目标密文进行解密,得到与所述待查询数据对应的目标数据包括:
去除所述目标密文的所述预设位置上的密文,得到目标初始密文,并将所述目标初始密文转化成第二预设进制数,得到转化后的目标初始密文;
根据所述目标加密映射表对所述转化后的目标初始密文进行反向映射,得到反向映射值;
基于所述二进制编码对照表与所述反向映射值得到所述待查询数据对应的目标数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111367743.9A CN114218582A (zh) | 2021-11-18 | 2021-11-18 | 一种数据库的数据加密方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111367743.9A CN114218582A (zh) | 2021-11-18 | 2021-11-18 | 一种数据库的数据加密方法及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114218582A true CN114218582A (zh) | 2022-03-22 |
Family
ID=80697436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111367743.9A Pending CN114218582A (zh) | 2021-11-18 | 2021-11-18 | 一种数据库的数据加密方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114218582A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701493A (zh) * | 2023-08-07 | 2023-09-05 | 中电信量子科技有限公司 | 支持模糊查询的数据库操作方法及用户端 |
CN117151651A (zh) * | 2023-09-19 | 2023-12-01 | 广东维信智联科技有限公司 | 一种用于政务文件管理的政务信息管理方法 |
-
2021
- 2021-11-18 CN CN202111367743.9A patent/CN114218582A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701493A (zh) * | 2023-08-07 | 2023-09-05 | 中电信量子科技有限公司 | 支持模糊查询的数据库操作方法及用户端 |
CN116701493B (zh) * | 2023-08-07 | 2023-10-31 | 中电信量子科技有限公司 | 支持模糊查询的数据库操作方法及用户端 |
CN117151651A (zh) * | 2023-09-19 | 2023-12-01 | 广东维信智联科技有限公司 | 一种用于政务文件管理的政务信息管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210099287A1 (en) | Cryptographic key generation for logically sharded data stores | |
CN105373927B (zh) | 电子券的券码生成方法、装置及服务器 | |
US10664610B2 (en) | Method and system for range search on encrypted data | |
EP3342090A1 (en) | Method for providing encrypted data in a database and method for searching on encrypted data | |
CN114218582A (zh) | 一种数据库的数据加密方法及终端 | |
CN112800445B (zh) | 一种用于密文数据的前后向安全和可验证的布尔查询方法 | |
US10009169B2 (en) | Format-preserving cipher | |
CN104657673A (zh) | 平均复杂度理想安全的保序加密 | |
CA3065767C (en) | Cryptographic key generation for logically sharded data stores | |
CN115905238A (zh) | 隐匿查询方法、装置、电子设备和存储介质 | |
CN115580402A (zh) | 一种用于安全多方计算的数据隐匿查询方法 | |
CN113434739B (zh) | 一种云环境下前向安全的多用户动态对称加密检索方法 | |
CN116894273B (zh) | 基于异或和求余的文件加密方法、解密方法、设备及介质 | |
WO2022099893A1 (zh) | 数据查询方法、装置、系统以及数据集处理方法 | |
CN112187449B (zh) | 一种量子数据库查询方法、加解密方法及系统 | |
CN117171202A (zh) | 一种数据查询方法及装置 | |
CN117155615A (zh) | 数据加密传输方法、系统、电子设备及存储介质 | |
CN112836239A (zh) | 保护隐私的双方协同确定目标对象数据的方法及装置 | |
CN116701493B (zh) | 支持模糊查询的数据库操作方法及用户端 | |
CN115630400B (zh) | 一种去标识化数据的查询方法、装置、设备及存储介质 | |
CN114547647B (zh) | 一种基于差分隐私的模式保护动态可搜索加密方法 | |
CN115563634A (zh) | 一种检索方法、装置、设备及介质 | |
CN116383838A (zh) | 一种分布式数据存储系统中数据加解密方法以及相关装置 | |
CN117914593A (zh) | 数据加密方法、数据解密方法、装置、设备和可读介质 | |
CN115576987A (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 |