CN116502248A - 数据加密方法、查询方法、装置、电子设备及存储介质 - Google Patents
数据加密方法、查询方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116502248A CN116502248A CN202310479662.0A CN202310479662A CN116502248A CN 116502248 A CN116502248 A CN 116502248A CN 202310479662 A CN202310479662 A CN 202310479662A CN 116502248 A CN116502248 A CN 116502248A
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- code
- encoding
- query
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 239000012634 fragment Substances 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种数据加密方法、查询方法、装置、电子设备及存储介质,涉及数据安全技术领域。该加密方法通过获取待加密数据携带的标识来查找编码表,不同标识对应的编码表不同,如此可在不同场景下设置不同的编码表,比如针对不同的数据设置不同的编码表,这样即使编码表泄露,攻击者也无法不容易知晓该编码表是哪些数据的,从而使得其加密数据不易被破解,数据安全性更高。
Description
技术领域
本申请涉及数据安全技术领域,具体而言,涉及一种数据加密方法、查询方法、装置、电子设备及存储介质。
背景技术
随着计算机科学技术的发展,数据库中存储着大批量的重要数据,比如用户的个人信息,如姓名、手机号、身份证号等隐私信息。为了保护这些隐私数据的安全,不被攻击者利用系统的漏洞或非法获取权限窃取和篡改隐私数据,需要对这些重要数据进行加密,将密文存储在数据库中,从而有效地保护隐私数据的安全性。
现有的加密方式一般是采用设定的加密算法来加密,但是这种方式一旦密钥泄露,攻击者很容易通过密文获取到原始明文数据,数据安全性不高。
发明内容
本申请实施例的目的在于提供一种数据加密方法、查询方法、装置、电子设备及存储介质,用以改善现有的加密方式所加密的数据安全性不高的问题。
第一方面,本申请实施例提供了一种数据加密方法,所述方法包括:
获取待加密数据;
获取所述待加密数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
将所述待加密数据切割为分片数据,根据所述编码表获取所述分片数据对应的编码,得到所述待加密数据对应的加密数据。
在上述实现过程中,通过获取待加密数据携带的标识来查找编码表,不同标识对应的编码表不同,如此可在不同场景下设置不同的编码表,比如针对不同的数据设置不同的编码表,这样即使编码表泄露,攻击者也无法不容易知晓该编码表是哪些数据的,从而使得其加密数据不易被破解,数据安全性更高。
可选地,所述标识用于表征用户信息;或者,所述标识用于表征存储所述编码表的服务器信息;或者,所述标识用于表征接收所述待加密数据的终端信息。
在上述实现过程中,针对不同的用户信息、服务器信息或终端信息来设置不同的编码表,这样在不同的加密需求场景下,可灵活设置不同的编码表,数据安全性更高。
可选地,所述编码表为加密后的编码表,所述根据所述编码表获取所述分片数据对应的编码,包括:
对所述编码表进行解密,获得解密后的编码表;
在解密后的编码表中查找获得所述分片数据对应的编码。
在上述实现过程中,对编码表进行加密,可提高编码表的安全性,避免编码表容易泄露的问题。
可选地,所述编码表包括加密分片数据和编码的对应关系,所述根据所述编码表获取所述分片数据对应的编码,包括:
对所述分片数据进行加密,获得加密分片数据;
在所述编码表中查找获得所述加密分片数据对应的编码。
在上述实现过程中,对编码表中的分片数据进行加密,可使得不容易基于编码表来直接获取其明文数据,进一步提高数据安全性。
可选地,所述编码表包括第一编码表和第二编码表,所述第一编码表包括分片数据和第一编码的对应关系,所述第二编码表包括第一编码和第二编码的对应关系,所述第二编码是对所述第一编码进行变形或加密获得的;所述根据所述编码表获取所述分片数据对应的编码,包括:
在所述第一编码表中查找获得所述分片数据对应的第一编码;
在所述第二编码中查找获得所述第一编码对应的第二编码,并将所述第二编码作为所述分片数据对应的编码。
在上述实现过程中,通过两个编码表来存储分片数据和编码的对应关系,这样即使其中一个编码表被泄露,攻击者也无法根据编码获取其明文数据,数据安全性更高。
可选地,所述编码表存储在数据库中,所述编码表包括分片数据和编码的对应关系,通过以下方式构建所述编码表:
获取待处理数据;
将所述待处理数据切割为分片数据,在所述编码表中查找所述分片数据对应的编码;
若未查找到所述分片数据对应的编码,则随机生成对应的编码,并将所述分片数据与对应的编码保存到所述编码表中,其中,不同分片数据对应的编码不同。
在上述实现过程中,通过上述方式构建编码表,可确保编码表中不同分片数据对应的编码是唯一的,确保数据加密的唯一性。
第二方面,本申请实施例提供了一种数据查询方法,所述方法包括:
获取查询数据;
获取所述查询数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
将所述查询数据切割为单字符,根据所述编码表获取所述单字符对应的编码,得到所述查询数据对应的查询编码数据;
利用所述查询编码数据在数据库中进行模糊查询,得到对应的目标编码数据,其中,所述数据库中预先保存有编码数据,所述编码数据为将明文数据切割为单字符后进行编码获得的数据;
根据所述编码表对所述目标编码数据进行解密,得到解密数据。
在上述实现过程中,采用编码表对数据进行加密的方式可确保数据安全性,且又同时能够支持数据的模糊查询能力。
第三方面,本申请实施例提供一种数据加密装置,所述装置包括:
加密数据获取模块,用于获取待加密数据;
编码表查找模块,用于获取所述待加密数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
加密模块,用于将所述待加密数据切割为分片数据,根据所述编码表获取所述分片数据对应的编码,得到所述待加密数据对应的加密数据。
第四方面,本申请实施例提供一种数据查询装置,所述装置包括:
查询数据获取模块,用于获取查询数据;
编码表获取模块,用于获取所述查询数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
编码模块,用于将所述查询数据切割为单字符,根据所述编码表获取所述单字符对应的编码,得到所述查询数据对应的查询编码数据;
查询模块,用于利用所述查询编码数据在数据库中进行模糊查询,得到对应的目标编码数据,其中,所述数据库中预先保存有编码数据,所述编码数据为将明文数据切割为单字符后进行编码获得的数据;
解密模块,用于根据所述编码表对所述目标编码数据进行解密,得到解密数据。
第五方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据加密方法的流程图;
图2为本申请实施例提供的一种数据查询方法的流程图;
图3为本申请实施例提供的一种数据加密装置的结构框图;
图4为本申请实施例提供的一种数据查询装置的结构框图;
图5为本申请实施例提供的一种用于执行数据加密方法或数据查询方法的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供一种数据加密方法,该方法通过获取待加密数据携带的标识来查找编码表,不同标识对应的编码表不同,如此可在不同场景下设置不同的编码表,这样即使编码表泄露,攻击者也无法不容易知晓该编码表是哪些数据的,从而使得其加密数据不易被破解,数据安全性更高。
请参照图1,图1为本申请实施例提供的一种数据加密方法的流程图,该方法包括如下步骤:
步骤S110:获取待加密数据。
其中,待加密数据是指用户在需要进行数据加密时所输入的数据,加密系统接收到待加密数据后可对数据进行后续的加密操作。
步骤S120:获取待加密数据携带的标识,并根据标识查找对应的编码表。
用户在提交待加密数据时,可在待加密数据中携带标识,这里的标识可以是用户添加的,也可以是加密系统自动添加的。
不同的标识对应的编码表不同,这样可以在不同的场景下设置不同的编码表。
在一些实施方式中,标识可以用于表征用户信息,比如用户可以在待加密数据中添加其用户信息作为标识,这样针对不同的用户可以设置不同的编码表,或者是针对一类用户设置同样的编码表,比如对于用户权限相同的用户其对应的编码表相同,用户权限不同的用户,其编码表不同。
如果是不同的用户设置的编码表不同,此时可在系统内置有不同用户信息对应的编码表,这里的用户信息可以是指用户账户信息,用户账户信息可用于唯一标识一个用户。
如果是不同用户权限对应的编码表不同,则可在系统内置不同用户权限对应的编码表,这样在获取到待加密数据对应的标识后,可根据标识确定用户的用户权限,然后根据用户权限来查找编码表。
可以理解地,在一些实施方式中,不同用户权限对应的编码表中,其编码表的安全等级可不同,比如对于较低用户权限,其对应的编码表的安全等级也可以设置得较低,其安全等级可以通过编码表中的编码来体现,比如编码表包括分片数据和编码的对应关系,则在安全等级低的编码表中,其编码的位数可能少一些,而在安全等级高的编码表中,其编码的位数则多一些;或者安全等级低的编码表中,其编码的编码规则更简单,而在安全等级高的编码表中,其编码的编码规则更复杂一些。如此对于高用户权限的待加密数据,其可能要加密的数据更隐私,这样对其设置的编码表的安全等级更高,如此可使得数据安全性更高,更不易被破解。
标识还可以用于表征存储编码表的服务器信息。比如对于不同的服务器其对应的标识不同,进而不同的服务器所存储的编码表不同。在一些应用场景下,不同的数据可存储在不同的服务器中,比如对于一些安全性要求高的数据(比如公司内部的工资数据、员工个人信息等),可以存储在安全性更高的服务器中,对于一些安全性要求较低的数据,可以存储在安全性更低的服务器中,所以在进行数据加密时,可以根据所要加密的数据在不同的服务器中进行加密处理。
所以加密系统在接收到待加密数据后,可根据待加密数据携带的标识来确定对应的服务器信息,然后查找与该服务器信息对应的编码表,这里的服务器信息可以是指服务器的标识、服务器的设备编号、服务器的IP地址等信息。可以理解的是,在实际应用中,这里的服务器信息可以根据实际情况灵活定义。
在一些实施方式中,标识还可以用于表征接收待加密数据的终端信息,即用户在加密数据时,在终端上输入对应的待加密数据,此时终端接收该待加密数据,待加密数据中自动携带了表征终端信息的标识。不同终端信息对应的编码表不同,比如在公司内部,则可以根据部门来划分终端,这样不同部门所使用的编码表则不同。所以这里的终端信息可以是指终端的标识、终端的设备编号、终端的IP地址、终端所属的部门等信息。可以理解的是,在实际应用中,这里的终端信息可以根据实际情况灵活定义。
在一些实施方式中,标识还可用于表征数据类型,即表征待加密数据的数据类型,这里的数据类型可分为隐私数据、外网数据、内网数据等类型,这样可以针对不同的数据类型也可设置不同的编码表,使得在加密不同类型数据的场景下,可使用不同的编码表来提高其安全性。
在一些实施方式中,标识还可用于表征数据库类型,比如不同的数据可存储在不同的数据库中,所以还可以根据数据库类型的不同来设置不同的编码表。
需要说明的是,在实际应用场景下,上述的标识还可以表征其他信息,其可以根据实际情况来灵活定义。
步骤S130:将待加密数据切割为分片数据,根据编码表获取分片数据对应的编码,得到待加密数据对应的加密数据。
这里可以使用分词法对待加密数据进行切割,或者直接将待加密数据切割为分片数据,这里的分片数据可以是指单字符,也可以是指多个字符,而为了使得编码表可以适应后续实施例中的模糊查询,这里的分片数据可以是指单字符,当然如果是仅用于数据加密的场景,分片数据可以是指多个字符,如按照分词法所切割的多个字符。编码表中可存储的是分片数据与编码的对应关系,这里将待加密数据切割获得分片数据后,可以先对分片数据进行去重处理,然后对于去重后的分片数据,再根据编码表来获取其对应的编码。
比如,待加密数据若为“本公司一共有一千个员工”,以单字符切割为例,则对其进行单字符切割以及去重后,获得的单字符包括“本、公、司、一、共、有、千、个、员、工”,共获得10个单字符,当然这里的单字符在计算机系统中以二进制形式来表征,为了描述的便利,本申请实施例中以中文来描述。
在获得上述10个单字符后,可在编码表中分别查找这10个单字符对应的编码,本申请实施例中所说的编码并不是常规意义上的二进制编码,而是随机生成的由字母、数字和特殊符号等信息组合形成的编码,这样可确保每个不同单字符对应的编码均是不同的,而且编码没有设定的规律或规则,这样可使得编码不容易被破解,数据安全性更高。
比如,在编码表中查找获得上述10个单字符对应的编码,包括:本-a123y、公-jl89、司-opu9、一-hy28、共-de78t、有-&98nh、千-D48hy、个-34HYb、员-n%89B、工-KL0b,获得这些单字符对应的编码后,可按照待加密数据中单字符的顺序,然后将这些单字符按序进行拼接,以生成待加密数据对应的加密数据。为了便于区分各个单字符,在生成加密数据时,各个单字符之间可通过“&”进行拼接,如上述示例生成的加密数据为“a123y&jl89&opu9&hy28&de78t&98nh&hy28&D48hy&34HYb&n%89B&KL0b”。
在上述实现过程中,通过获取待加密数据携带的标识来查找编码表,不同标识对应的编码表不同,如此可在不同场景下设置不同的编码表,比如针对不同的数据设置不同的编码表,这样即使编码表泄露,攻击者也无法不容易知晓该编码表是哪些数据的,从而使得其加密数据不易被破解,数据安全性更高。
在上述实施例的基础上,为了进一步提高数据安全性,本申请实施例中的编码表可以是加密后的编码表,则在获取分片数据对应的编码时,可以先对编码表进行解密,获得解密后的编码表,然后在解密后的编码表中查找获得分片数据对应的编码。
比如,编码表创建好之后,采用设定的加密算法加密后存储在加密系统中,在需要使用编码表时,先采用对应的密钥对编码表进行解密,然后在从编码表中查找对应的信息。这样如果编码表被泄露,也需要获得密钥对其进行解密后才能获得其中的信息,安全性更高。
在上述实施例的基础上,为了进一步提高数据安全性,编码表中还可以包括的是加密分片数据与编码的对应关系,在上述获取分片数据对应的编码时,可以先对分片数据进行加密,获得加密分片数据,然后在编码表中查找获得加密分片数据对应的编码。
这样即使编码表被泄露,也不能直接根据编码获取到原始明文数据,还需要对加密分片数据进行解密才能获得。所以在预先创建编码表时,可以采用加密算法对分片数据进行加密后,然后将加密分片数据与编码的对应关系存储在编码表中。
在获取编码时,先对分片数据采用同样的加密算法进行加密,然后再在编码表中查找对应的编码。后续实施例中描述的对目标编码数据进行解密时,可采用类似的方法,可以先从编码表中查找其编码对应的加密分片数据,然后将加密分片数据采用对应的密钥进行解密后按序拼接形成解密数据。
在上述实现过程中,对编码表中的分片数据进行加密,可使得不容易基于编码表来直接获取其明文数据,进一步提高数据安全性。
在上述实施例的基础上,为了进一步提高数据安全性,上述的编码表可包括第一编码表和第二编码表,第一编码表包括分片数据和第一编码的对应关系,第二编码表包括第一编码和第二编码的对应关系,第二编码是对第一编码进行变形或加密获得的,在获取分片数据对应的编码时,可以先在第一编码表中查找获得分片数据对应的第一编码,然后在第二编码表中查找获得第一编码对应的第二编码并将第二编码作为分片数据对应的编码。
其中,第二编码是对第一编码进行变形或加密获得的,这里的变形可以理解为是基于预设的变形规则对第一编码进行变形获得的,比如将第一编码进行倒序变形,或者在第一编码中插入相应的变形字符等方式,在实际应用中,可以根据实际情况来灵活设置变形规则。加密是指对第一编码采用设定的加密算法进行加密获得的。
这种方式下,即使第一编码表或第二编码表被泄露,也无法直接根据编码来获取原始数据,数据安全性更高。
在上述实施例的基础上,编码表是预先创建的,编码表存储在数据库中,编码表包括分片数据和编码的对应关系,当然,这里的编码表是指与待处理数据对应的编码表,即根据待处理数据中携带的标识所创建的编码表,在数据库中存储有标识与编码表的对应关系。
在创建编码表时,先获取待处理数据,将待处理数据切割为分片数据,在编码表中查找分片数据对应的编码,若未查找到分片数据对应的编码,则随机生成对应的编码,并将该分片数据与对应的编码保存到编码表中,其中,不同分片数据对应的编码不同。
可以理解地,在初始时,编码表中的内容为空,随着数据量的增加,慢慢在编码表中增加内容。比如,获取到待处理数据后,将待处理数据切割为多个分片数据,对多个分片数据先进行去重操作,然后针对每个分片数据在编码表中进行查找,判断是否存在其对应的编码,如果存在,则继续查找下一个分片数据对应的编码,若所有的分片数据均能在编码表中查找到对应的编码,则表示该数据已经处理过了,此时无需再处理。后续再对接收到的下一个待处理数据按照同样的方式处理。
而如果在编码表中未查找到其中某个分片数据对应的编码,则可随机生成对应的编码,比如利用a-z、A-Z、@#¥%*()这些符号,进行固定或不固定位数的任意排列组合,将生成的组合在编码表中进行查找,如果编码表中存在相同的,则重新生成,如果在编码表中不存在相同的,则可记录下该组合作为其分片数据对应的编码,并将分片数据与其编码保存到编码表中。
可以理解地,若编码表是加密的,则这里每次在查找编码表时,先进行解密,然后再将分片数据与编码保存到编码表后,又对其进行加密处理,待后续加密过程中调用。
请参照图2,图2为本申请实施例提供的一种数据查询方法的流程图,该方法包括如下步骤:
步骤S210:获取查询数据。
其中,查询数据是指用户在需要进行数据查询时所提交的数据,查询系统接收到查询数据后可对数据进行后续的查询操作。
步骤S220:获取查询数据携带的标识,并根据标识查找对应的编码表。
其中,不同标识对应的编码表不同。这里查询数据携带的标识和上述实施例中待加密数据携带的标识类似,且根据标识查找对应的编码表的方式也类似,为了描述的简洁,在此不再重复阐述。
步骤S230:将查询数据切割为单字符,根据编码表获取单字符对应的编码,得到查询数据对应的查询编码数据。
这里将查询数据切割为单字符是为了适应后续的模糊查询,切割为单字符后在进行模糊查询时可使得查询结果更精准,所以这里的编码表可以包括单字符与编码的对应关系,该编码表的获取方式与上述实施例中编码表的获取类似,只是上述实施例中是分片数据,这里是单字符,在实现时,只需要将单字符作为分片数据实现即可。为了描述的简洁,对于重复的部分在此也不再重复阐述。
步骤S240:利用查询编码数据在数据库中进行模糊查询,得到对应的目标编码数据。
其中,数据库中预先保存有编码数据,编码数据为将明文数据切割为单字符后进行编码获得的数据。当然,数据库中保存的编码数据的格式和上述查询编码数据的格式类似,即也是将各个字符对应的编码组合形成的。
这样可以利用查询编码数据在数据库查询与其匹配的目标编码数据,匹配可以是指与查询编码数据相关(比如相似)的目标编码数据,具体的查询方式这里不做详细介绍。
这里获取目标编码数据的方式,示例如:若查询数据为“中国有多少中国人”,则对其进行单字符切割以及去重后,获得的单字符包括“中、国、有、多、少、人”,共获得6个单字符。
在获得上述6个单字符后,可在编码表中分别查找这6个单字符对应的编码,比如,在编码表中查找获得单字符对应的编码,包括:中-a23y、国-hj90K、有-&98nh、多-0QL7、少-*Vnl、人-o6fm3,获得这些单字符对应的编码后,可按照查询数据中单字符的顺序,然后将这些单字符按序进行拼接,以生成查询数据对应的查询编码数据,为了便于区分各个单字符,在生成查询编码数据时,各个单字符之间可通过“&”进行拼接,如上述示例生成的查询编码数据为“a23y&hj90K&&98nh&0QL7&*Vnl&a23y&hj90K&o6fm3”。然后可根据该查询编码数据在数据库中进行模糊查询,进而获得目标编码数据。
步骤S250:根据编码表对目标编码数据进行解密,得到解密数据。
由于目标编码数据实际上是编码后的数据,并不是原始的明文数据,所以还需要对其进行解密,解密的方式是指从编码表中找出编码对应的字符,即查询系统可以调用加密系统中的编码表,通过编码表来进行解密。
具体实现方式为:对目标编码数据进行切割,获得切割后的单个编码,然后在编码表中查找单个编码对应的映射字符,将映射字符按切割顺序拼接形成对应的解密数据。
其实现方式和上述获得查询编码数据的方式类似,只是这里获取的是映射字符而不是编码。比如,这里在对目标编码数据进行切割时,可以以目标编码数据中的“&”符号进行切割,从而获得单字符对应的编码,然后从编码表中找到这些编码对应的映射字符,之后再将这些字符按照切割顺序进行拼接,从而获得对应的解密数据后返回给用户。
需要说明的是,该实施例中关于编码表的相关实现方式可以参照上述实施例中的相关描述,在此不重复赘述。
在上述实现过程中,采用编码表对数据进行加密可以确保数据安全性,且该加密方式又可以支持数据的模糊查询,且查询时无需对数据库中的数据解密后查询,确保数据安全的前提下,提高了数据查询效率,因此该方法既保证了数据安全性,又能够保证模糊查询的能力,并且也提高了数据查询效率。
请参照图3,图3为本申请实施例提供的一种数据加密装置300的结构框图,该装置300可以是电子设备上的模块、程序段或代码。应理解,该装置300与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置300具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置300包括:
加密数据获取模块310,用于获取待加密数据;
编码表查找模块320,用于获取所述待加密数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
加密模块330,用于将所述待加密数据切割为分片数据,根据所述编码表获取所述分片数据对应的编码,得到所述待加密数据对应的加密数据。
可选地,所述标识用于表征用户信息;或者,所述标识用于表征存储所述编码表的服务器信息;或者,所述标识用于表征接收所述待加密数据的终端信息。
可选地,所述编码表为加密后的编码表,所述加密模块330,用于对所述编码表进行解密,获得解密后的编码表;在解密后的编码表中查找获得所述分片数据对应的编码。
可选地,所述编码表包括加密分片数据和编码的对应关系,所述加密模块330,用于对所述分片数据进行加密,获得加密分片数据;在所述编码表中查找获得所述加密分片数据对应的编码。
可选地,所述编码表包括第一编码表和第二编码表,所述第一编码表包括分片数据和第一编码的对应关系,所述第二编码表包括第一编码和第二编码的对应关系,所述第二编码是对所述第一编码进行变形或加密获得的;所述加密模块330,用于在所述第一编码表中查找获得所述分片数据对应的第一编码;在所述第二编码中查找获得所述第一编码对应的第二编码,并将所述第二编码作为所述分片数据对应的编码。
可选地,所述编码表存储在数据库中,所述编码表包括分片数据和编码的对应关系,通过以下方式构建所述编码表:
获取待处理数据;
将所述待处理数据切割为分片数据,在所述编码表中查找所述分片数据对应的编码;
若未查找到所述分片数据对应的编码,则随机生成对应的编码,并将所述分片数据与对应的编码保存到所述编码表中,其中,不同分片数据对应的编码不同。
请参照图4,图4为本申请实施例提供的一种数据查询装置400的结构框图,该装置400可以是电子设备上的模块、程序段或代码。应理解,该装置400与上述图2方法实施例对应,能够执行图3方法实施例涉及的各个步骤,该装置400具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置400包括:
查询数据获取模块410,用于获取查询数据;
编码表获取模块420,用于获取所述查询数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
编码模块430,用于将所述查询数据切割为单字符,根据所述编码表获取所述单字符对应的编码,得到所述查询数据对应的查询编码数据;
查询模块440,用于利用所述查询编码数据在数据库中进行模糊查询,得到对应的目标编码数据,其中,所述数据库中预先保存有编码数据,所述编码数据为将明文数据切割为单字符后进行编码获得的数据;
解密模块450,用于根据所述编码表对所述目标编码数据进行解密,得到解密数据。
需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
请参照图5,图5为本申请实施例提供的一种用于执行数据加密方法或数据查询方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器510,例如CPU,至少一个通信接口520,至少一个存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口520用于与其他节点设备进行信令或数据的通信。存储器530可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器530可选的还可以是至少一个位于远离前述处理器的存储装置。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,电子设备执行上述图1或图2所示方法过程。
可以理解,图5所示的结构仅为示意,所述电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1或图2所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:
获取待加密数据;
获取所述待加密数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
将所述待加密数据切割为分片数据,根据所述编码表获取所述分片数据对应的编码,得到所述待加密数据对应的加密数据。
综上所述,本申请实施例提供一种数据加密方法、查询方法、装置、电子设备及存储介质,该加密方法通过获取待加密数据携带的标识来查找编码表,不同标识对应的编码表不同,如此可在不同场景下设置不同的编码表,比如针对不同的数据设置不同的编码表,这样即使编码表泄露,攻击者也无法不容易知晓该编码表是哪些数据的,从而使得其加密数据不易被破解,数据安全性更高。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种数据加密方法,其特征在于,所述方法包括:
获取待加密数据;
获取所述待加密数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
将所述待加密数据切割为分片数据,根据所述编码表获取所述分片数据对应的编码,得到所述待加密数据对应的加密数据。
2.根据权利要求1所述的方法,其特征在于,所述标识用于表征用户信息;或者,所述标识用于表征存储所述编码表的服务器信息;或者,所述标识用于表征接收所述待加密数据的终端信息。
3.根据权利要求1所述的方法,其特征在于,所述编码表为加密后的编码表,所述根据所述编码表获取所述分片数据对应的编码,包括:
对所述编码表进行解密,获得解密后的编码表;
在解密后的编码表中查找获得所述分片数据对应的编码。
4.根据权利要求1所述的方法,其特征在于,所述编码表包括加密分片数据和编码的对应关系,所述根据所述编码表获取所述分片数据对应的编码,包括:
对所述分片数据进行加密,获得加密分片数据;
在所述编码表中查找获得所述加密分片数据对应的编码。
5.根据权利要求1所述的方法,其特征在于,所述编码表包括第一编码表和第二编码表,所述第一编码表包括分片数据和第一编码的对应关系,所述第二编码表包括第一编码和第二编码的对应关系,所述第二编码是对所述第一编码进行变形或加密获得的;所述根据所述编码表获取所述分片数据对应的编码,包括:
在所述第一编码表中查找获得所述分片数据对应的第一编码;
在所述第二编码中查找获得所述第一编码对应的第二编码,并将所述第二编码作为所述分片数据对应的编码。
6.根据权利要求1所述的方法,其特征在于,所述编码表存储在数据库中,所述编码表包括分片数据和编码的对应关系,通过以下方式构建所述编码表:
获取待处理数据;
将所述待处理数据切割为分片数据,在所述编码表中查找所述分片数据对应的编码;
若未查找到所述分片数据对应的编码,则随机生成对应的编码,并将所述分片数据与对应的编码保存到所述编码表中,其中,不同分片数据对应的编码不同。
7.一种数据查询方法,其特征在于,所述方法包括:
获取查询数据;
获取所述查询数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
将所述查询数据切割为单字符,根据所述编码表获取所述单字符对应的编码,得到所述查询数据对应的查询编码数据;
利用所述查询编码数据在数据库中进行模糊查询,得到对应的目标编码数据,其中,所述数据库中预先保存有编码数据,所述编码数据为将明文数据切割为单字符后进行编码获得的数据;
根据所述编码表对所述目标编码数据进行解密,得到解密数据。
8.一种数据加密装置,其特征在于,所述装置包括:
加密数据获取模块,用于获取待加密数据;
编码表查找模块,用于获取所述待加密数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
加密模块,用于将所述待加密数据切割为分片数据,根据所述编码表获取所述分片数据对应的编码,得到所述待加密数据对应的加密数据。
9.一种数据查询装置,其特征在于,所述装置包括:
查询数据获取模块,用于获取查询数据;
编码表获取模块,用于获取所述查询数据携带的标识,并根据所述标识查找对应的编码表,不同标识对应的编码表不同;
编码模块,用于将所述查询数据切割为单字符,根据所述编码表获取所述单字符对应的编码,得到所述查询数据对应的查询编码数据;
查询模块,用于利用所述查询编码数据在数据库中进行模糊查询,得到对应的目标编码数据,其中,所述数据库中预先保存有编码数据,所述编码数据为将明文数据切割为单字符后进行编码获得的数据;
解密模块,用于根据所述编码表对所述目标编码数据进行解密,得到解密数据。
10.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-7任一所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310479662.0A CN116502248A (zh) | 2023-04-28 | 2023-04-28 | 数据加密方法、查询方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310479662.0A CN116502248A (zh) | 2023-04-28 | 2023-04-28 | 数据加密方法、查询方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116502248A true CN116502248A (zh) | 2023-07-28 |
Family
ID=87317912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310479662.0A Pending CN116502248A (zh) | 2023-04-28 | 2023-04-28 | 数据加密方法、查询方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116502248A (zh) |
-
2023
- 2023-04-28 CN CN202310479662.0A patent/CN116502248A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324143B (zh) | 数据传输方法、电子设备及存储介质 | |
CN114969128B (zh) | 一种基于安全多方计算技术的隐匿查询方法、系统和存储介质 | |
CN106790156B (zh) | 一种智能设备绑定方法及装置 | |
CN113127915A (zh) | 数据加密脱敏方法、装置、电子设备及存储介质 | |
JP2012164031A (ja) | データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム | |
CN113489710A (zh) | 一种文件共享方法、装置、设备和存储介质 | |
CN113065151A (zh) | 关系型数据库信息安全强化方法、系统、终端及存储介质 | |
CN116055067B (zh) | 一种弱口令检测的方法、装置、电子设备及介质 | |
CN111241596B (zh) | 一种区块链资产账户恢复的方法及装置 | |
KR101045222B1 (ko) | 개인 정보를 순서 정보와 내용 정보로 분리하여 암호화하고 합성하는 방법, 장치,서버 및 기록 매체 | |
CN111881480A (zh) | 隐私数据加密方法、装置、计算机设备及存储介质 | |
CN112084487B (zh) | 一种弱口令分析方法、装置、存储介质及电子设备 | |
CN114218176A (zh) | 一种跨平台数据安全共享交换方法 | |
CN116502248A (zh) | 数据加密方法、查询方法、装置、电子设备及存储介质 | |
CN115146315B (zh) | 低代码平台的隐私数据保护方法、装置、设备及存储介质 | |
CN114640527B (zh) | 基于日志审计的不动产登记业务网络安全风险识别方法及系统 | |
CN115001784B (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
CN106293495A (zh) | 终端设备的数据存储方法及终端设备 | |
JP2006072783A (ja) | データエントリシステム及びデータエントリ方法 | |
CN115834203B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN116257887B (zh) | 数据查询方法、装置、系统、设备及存储介质 | |
CN120105470A (zh) | 数据查询方法、装置及存储介质 | |
CN117786741B (zh) | 一种密文存储与密文检索开放云服务方法、系统和介质 | |
CN115630400B (zh) | 一种去标识化数据的查询方法、装置、设备及存储介质 | |
CN117077185A (zh) | 一种基于hmac与秘密分享的数据存储及保护方法、系统及介质 |
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 |