CN109246130A - 数据加密方法、装置、计算机设备及存储介质 - Google Patents
数据加密方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109246130A CN109246130A CN201811208032.5A CN201811208032A CN109246130A CN 109246130 A CN109246130 A CN 109246130A CN 201811208032 A CN201811208032 A CN 201811208032A CN 109246130 A CN109246130 A CN 109246130A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- encrypted
- target
- encryption
- 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 38
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims description 45
- 230000014509 gene expression Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 241001269238 Data Species 0.000 description 5
- 230000003993 interaction Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据加密方法、装置、计算机设备及存储介质,在获取到数据加密请求之后,查询数据加密请求中的待传输数据,判断待传输数据中是否存在需要加密的数据;若待传输数据中存在需要加密的数据,则采用预设方式从待传输数据中获取目标待加密数据;对目标待加密数据进行加密,得到已加密数据。先通过对待传输数据的查询来确定是否需要执行后续的加密步骤,避免不必要的冗余操作。而且在确定需要对待传输数据进行加密之后,通过预设方式从待传输数据中获取目标待加密数据,不需要加密所有待传输数据,降低了系统的计算量,进一步地提高了数据加密的效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据加密方法、装置、计算机设备及存储介质。
背景技术
随着计算机网络技术的发展,大量数据需要通过网络进行传输。而在数据传输的过程中,有很多敏感数据存在泄露的风险。因此需要对待传输数据中的敏感数据进行加密。但是往往待传输数据量是非常大的,如果将所有待传输数据都进行加密,数据计算量会非常大。而从待传输数据中筛选出需要加密的敏感数据也需要较大的计算量,并且查询方式较为繁琐。因此,上述情况均导致了待传输数据的加密效率较低。
发明内容
本发明实施例提供一种数据加密方法、装置、计算机设备及存储介质,以解决数据加密效率不高的问题。
一种数据加密方法,包括:
获取数据加密请求,所述数据加密请求包括待传输数据;
查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据;
若所述待传输数据中存在需要加密的数据,则采用预设方式从所述待传输数据中获取目标待加密数据;
对所述目标待加密数据进行加密,得到已加密数据。
一种数据加密装置,包括:
数据加密请求获取模块,用于获取数据加密请求,所述数据加密请求包括待传输数据;
待传输数据查询模块,用于查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据;
目标待加密数据获取模块,用于若所述待传输数据中存在需要加密的数据,则采用预设方式从所述待传输数据中获取目标待加密数据;
数据加密模块,用于对所述目标待加密数据进行加密,得到已加密数据。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据加密方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据加密方法的步骤。
上述数据加密方法、装置、计算机设备及存储介质中,在获取到数据加密请求之后,查询数据加密请求中的待传输数据,判断待传输数据中是否存在需要加密的数据;若待传输数据中存在需要加密的数据,则采用预设方式从待传输数据中获取目标待加密数据;对目标待加密数据进行加密,得到已加密数据。先通过对待传输数据的查询来确定是否需要执行后续的加密步骤,避免不必要的冗余操作。而且在确定需要对待传输数据进行加密之后,通过预设方式从待传输数据中获取目标待加密数据,不需要加密所有待传输数据,降低了系统的计算量,进一步地提高了数据加密的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据加密方法的一应用环境示意图;
图2是本发明一实施例中数据加密方法的一示例图;
图3是本发明一实施例中数据加密方法的另一示例图;
图4是本发明一实施例中数据加密方法的另一示例图;
图5是本发明一实施例中数据加密方法的另一示例图;
图6是本发明一实施例中数据加密方法的另一示例图;
图7是本发明一实施例中数据加密装置的一原理框图;
图8是本发明一实施例中数据加密装置的另一原理框图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据加密方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。服务端获取客户端发送的数据加密请求,并对数据加密请求中的待传输数据进行处理,得到已加密数据。其中,客户端可以但不限于各种个人电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据加密方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10:获取数据加密请求,数据加密请求包括待传输数据。
其中,数据加密请求是指存在需要进行传输的数据在数据发送之前触发的对数据进行加密的请求。具体地,该数据加密请求可以是客户端在需要对数据进行传输时而自动触发产生该数据加密请求,并将该数据加密请求发送至服务端。或者,服务端在获取到需要传输的数据之后,触发产生该数据加密请求。数据加密请求包括待传输数据,待传输数据是指需要在不同终端或系统中进行传输的数据。可选地,待传输数据可以包括用户名、手机号码、银行卡号码、职业、兴趣爱好或者用户地址等至少一项。
在一个具体实施方式中,待传输数据包括传输数据名和传输数据值。例如:若待传输数据为用户信息,则该待传输数据可以为(参见表1):
表1敏感数据表
S20:查询待传输数据,判断待传输数据中是否存在需要加密的数据。
对待传输数据进行查询,以判断待传输数据中是否存在需要加密的数据。其中,待传输数据中是否存在需要加密的数据可以按照预设的标准或方式进行设置。即预先设置哪些数据是需要进行加密的,然后根据这些需要加密的数据的特点采用特定的字符串或者预设字段对待传输数据进行查询,只要待传输数据中出现上述特定的字符串或者预设字段,就认定待传输数据中存在需要加密的数据。具体地,可以设置对待传输数据中的手机号码、银行卡号码、身份证号码等较为敏感的数据进行加密。也可以设置对待传输数据中特定的字段进行加密,例如,用户名、用户地址或者金额等信息。
例如,预先设置对待传输数据中的手机号码进行加密,则只要查询到待传输数据中有手机号码,则认定传输数据中存在需要加密的数据。而手机号码一般为11位数字组成,由此可以采用正则表达式进行匹配,若待传输数据中存在连续的11位数字,则认为待传输数据中存在手机号码。
S30:若待传输数据中存在需要加密的数据,则采用预设方式从待传输数据中获取目标待加密数据。
其中,该预设方式是指按照预设的加密规则而设定的方式。可以选择对待传输数据中的银行卡号、手机号、身份证号码、职业、兴趣爱好或者名字进行加密。而待传输数据可分为有规律的数据和没有规律或者不容易统计规律的数据。而银行卡号、手机号和身份证号码等为有规律的数据,而名字、职业等兴趣爱好往往是没有规律的数据(或者是不容易统计规律的数据)。因此,可以采用两种方式从待传输数据中获取待加密数据。若待加密数据为有规律的数据(银行卡号、手机号和身份证号码等),则可以按照数据的规律构造检索式,直接查询传输数据值,获取待加密数据。若待加密数据为没有规律的数据(名字、职业或者兴趣爱好等),则可以直接通过查询待传输数据中的传输数据名,通过字符串匹配的方式来获取待加密数据。可以理解地,有规律的数据也是可以采用字符串匹配的方式来获取待加密数据的。
该预设方式为服务端预先设置完成并保存在服务端中,在获取到数据加密请求之后,获取该预设方式,然后采用该预设方式从待传输数据中获取目标待加密数据。可选地,可以在获取数据加密请求之后,发出询问请求或者指令,以确定对不同数据是否有不同地加密需求,再通过获取对应地配置规则来进行对应查询和获取动作。
在一个具体实施方式中,该预设方式可以根据待传输数据的数据类型的不同而设置不同的预设方式。待传输数据的数据类型可以是数据本身的类型特点,也可以是根据不同功能或者业务来区分的数据类型。根据不同的数据类型预先设置不同过的预设方式,在该步骤中,先根据待传输数据的数据类型获取到对应的预设方式,在根据该预设方式从待传输数据中获取目标待加密数据。
优选地,在待传输数据中确定对应的数据需要加密之后,将对应的传输数据名确定为目标待加密数据名,将对应的传输数据值确定为目标待加密数据值,并将目标待加密数据名和目标待加密数据值组成待加密数据。
S40:对目标待加密数据进行加密,得到已加密数据。
在获取目标待加密数据之后,将目标待加密数据的进行加密,得到已加密数据。具体地,可以采用数据加密算法对目标待加密数据进行加密,该数据加密算法可以为AES、DES、RSA或者IDEA等加密算法。
在本实施例中,在获取到数据加密请求之后,查询数据加密请求中的待传输数据,判断待传输数据中是否存在需要加密的数据;若待传输数据中存在需要加密的数据,则采用预设方式从待传输数据中获取目标待加密数据;对目标待加密数据进行加密,得到已加密数据。先通过对待传输数据的查询来确定是否需要执行后续的加密步骤,避免不必要的冗余操作。而且在确定需要对待传输数据进行加密之后,通过预设方式从待传输数据中获取目标待加密数据,不需要加密所有待传输数据,降低了系统的计算量,进一步地提高了数据加密的效率。
在一实施例中,待传输数据中包括N个子传输数据,其中,N为正整数。
其中,子传输数据是指待传输数据中的数据子块。每一个子传输数据构成一个完整的数据子集。例如:表1中的传输数据A和传输数据B就分别是一个子传输数据。由N个子传输数据构成待传输数据,其中,N为正整数。
在本实施例中,查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据,具体包括:
查询任一子传输数据,若子传输数据中存在需要加密的数据,则待传输数据中存在需要加密的数据。
在待传输数据中存在大量的子传输数据,例如子传输数据A、子传输数据B、子传输数据C等。而这些子传输数据中的传输数据名的数量和内容都是一致的。故可以先查询一个子传输数据,来判断待传输数据中是否存在需要加密的数据,若子传输数据中存在需要加密的数据,则说明待传输数据中存在需要加密的数据。若待传输数据中存在加密数据,再执行步骤S30;若待传输数据中不存在加密数据,则不执行后续的数据获取和加密的步骤。如此,在判断待传输数据中是否存在需要加密的数据时,只需要对待传输数据中的一个子传输数据进行查询即可,减少数据查询时间,提高数据处理效率。
在一实施例中,如图3所示,采用预设方式从所述待传输数据中获取目标待加密数据,具体包括如下步骤:
S31:获取加密配置信息,根据加密配置信息获取对应的正则表达式和匹配字符串。
其中,加密配置信息是指预先设置的指定对何种数据进行加密的信息。例如加密配置信息为姓名、手机号码和银行卡号,则说明若待传输数据中存在姓名、手机号码或银行卡号,就需要对对应的数据进行加密。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。而匹配字符串则是对加密配置信息在待传输数据中的对应字符串的体现。例如,姓名在表1表示的待传输数据中对应的匹配字符串则为“AcName”。可以理解地,根据加密配置信息获取的正则表达式以及匹配字符串的数量是不固定的。根据加密配置信息获取的对应的正则表达式的数量或匹配字符串的数量可以为0。即根据加密配置信息可以只获取到正则表达式,也可以只获取到匹配字符串。对应地,若根据加密配置信息只获取到正则表达式,则步骤S32获取的第一待加密数据为空,或者直接跳过步骤S32而直接执行步骤S33,然后直接由第二待加密数据组成目标待加密数据。相似地,若根据加密配置信息只获取到匹配字符串,则步骤S33获取的第二待加密数据为空,或者直接跳过步骤S33,然后直接由第一待加密数据组成目标待加密数据。
优选地,正则表达式对应的是有规律的数据的查询方式。而匹配字符串对应的是没有规律的数据的查询方式。
S32:采用正则表达式查询待传输数据,获取第一待加密数据。
在获取到正则表达式之后,采用正则表达式来查询待传输数据,将符合该正则表达式的待传输数据确定为第一待加密数据。可选地,可以将符合该正则表达式的待传输数据的传输数据名确定为第一待加密数据名,将对应的传输数据值确定为第一待加密数据值,并将第一待加密数据名和第一待加密数据值组成第一待加密数据。
具体地,手机号码由11位连续的数字组成,身份证号码由18位连续的数字或者为17位数字加一位字母组成,而银行卡一般由16-19位数字组成。因此,可以通过设置正则表达式来查询待传输数据中是否存在连续的预定位数的数字。
示例性地,若要查询待传输数据中是否存在连续11位的数字,则可以通过如下正则表达式来实现:\d{11}。
相似地,若要同时查询手机号码、身份证号和银行卡号,则可以通过如下正则表达式实现:(\d{11})|(\d{16})|(\d{17})|(\d{18})|(\d{19});
进一步地,为了提高匹配效率,对于手机号码,可以采用如下正则表达式进行匹配:
^((13[0-9])F(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147))\\d{8}$;
其中,手机号码为11位数字组成,而且现有的手机号码中这11位数字中的前三位是有固定的数字组合,因此可以通过对前三位数字进行穷举的方式来构造正则表达式,以减少查询计算量,提高查询效率。示例性地,手机号码前三位数字的具体的规则如下:
*现有手机号码地前三位格式有:
*13+任意9位数字;
*15+除4之外的任意数+任意8位数字;
*18+除1和4之外的任意数+任意8位数字;
*17+除9之外的任意数+任意8位数字;
*147+任意9位数字。
在该步骤中,通过加密配置信息中的正则表达式对待传输数据进行查询,以获取第一待加密数据。可以理解地,上述具体的正则表达式仅是一种示例性地说明,不应理解为对本发明实施例仅有的实现方式。
S33:采用匹配字符串查询待传输数据,获取第二待加密数据。
在获取到匹配字符串之后,据匹配字符串查询待传输数据,若在待传输数据中查询到和匹配字符串对应的待传输数据,则获取对应的待传输数据,作为第二待加密数据。
具体地,根据匹配字符串查询待传输数据中的传输数据名,若查询到和匹配字符串相匹配的传输数据名,则将对应的传输数据名确定为第二待加密数据名,将对应的传输数据值确定为第二待加密数据值,并将第二待加密数据名和第二待加密数据值组成第二待加密数据。可以理解地,传输数据名和匹配字符串相匹配是指传输数据名对应的字段和匹配字符串相同。
例如,若要对姓名进行加密,则对应的匹配字符串为“AcName”。然后通过该匹配字符串查询待传输数据,得到第二待加密数据。
S34:将第一待加密数据和第二待加密数据组成目标待加密数据。
在得到第一待加密数据和第二待加密数据之后,将两者组合成目标待加密数据。将第一待加密数据名和第二待加密数据名确定为目标加密数据名,将第一待加密数据值和第二待加密数据值确定为目标加密数据值。可以理解地,在目标待加密数据中,对应的目标加密数据名和目标待加密数据值是相互关联地。
在这个实施例中,通过获取加密配置信息,根据加密配置信息中的正则表达式和匹配字符串来获取目标待加密数据,保证了目标待加密数据获取的准确性。
在一实施例中,如图4所示,采用预设方式从所述待传输数据中获取目标待加密数据,具体包括如下步骤:
S31’:采用预设的正则表达式查询待传输数据,获取第一待加密数据。
S32’:获取加密配置信息,根据加密配置信息获取对应的匹配字符串。
S33’:采用匹配字符串查询待传输数据,获取第二待加密数据。
S34’:将第一待加密数据和第二待加密数据组成目标待加密数据。
在这个实施例中,考虑到对于手机号码、银行卡号和身份证号码等敏感数据,在待传输数据中是默认要进行加密的。因此,对于每一个待传输数据都采用预设的正则表达式获取这部分数据(手机号码、银行卡号和身份证号码)。而此外,可能还存在一部分其他类型的数据需要加密,此时通过获取加密配置信息,根据用户预先配置的加密配置信息来来获取匹配字符串,获取额外需要加密的待传输数据。可以理解地,对于部分待传输数据而言,如果除了默认需要加密的数据之外,没有其他敏感数据需要加密,则步骤S32’中获取的加密配置信息为空,或者可以直接跳过步骤S32’。具体地,在步骤S31’之后,在步骤S32’之前,该数据加密方法还包括如下步骤:根据待传输数据进行查询,判断该待传输数据是否存在对应的加密配置信息。若存在对应的加密配置信息,则执行步骤S32’。若不存在对应的加密配置信息,则直接将第一待加密数据组成目标待加密数据。
在这个实施例中,通过对待传输数据中的敏感数据默认进行加密,而对于其他额外需要加密的数据通过加密配置信息来体现,可以根据不同的待传输数据进行对应的配置,在保证数据加密的效率的同时进一步保证了数据加密的灵活性。
在一实施例中,如图5所示,对目标待加密数据进行加密,得到已加密数据,具体包括如下步骤:
S41:产生一预设位数的随机私钥,采用随机私钥对目标待加密数据进行加密,得到目标加密数据。
其中,随机私钥用于对目标待加密数据进行加密。而该随机私钥可以采用随机数函数产生,该预设位数根据具体加密算法或者实际加密需要进行设置,在此不做具体限定。在设定好预设位数之后,直接采用随机数函数即可产生对应的随机私钥。在产生随机私钥之后,采用该随机私钥对目标待加密数据进行加密,得到目标加密数据。具体地,可以采用加密算法对目标待加密数据进行加密,例如:AES、DES、RSA或者IDEA等加密算法。
S42:获取公钥,采用公钥对随机私钥进行加密,得到加密私钥。
其中,公钥可以从服务端或者密钥管理中心获取。密钥管理中心(KMC,KeyManagement Center)是公钥基础设施中的一个重要组成部分,负责为认证中心(CA,Certification Authority)系统提供密钥的生成、保存、备份、更新、恢复或查询等密钥服务,以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。获取到公钥之后,采用公钥对随机私钥进行加密,得到加密私钥。具体的加密算法可以和步骤S41相同,在此不再赘述。
S43:将目标加密数据和加密私钥组成已加密数据。
通过将目标加密数据和加密私钥组成已加密数据。随后将该已加密数据发送到对应的交互端。交互端获取到已加密数据之后,也从服务器或者密钥管理中心获取到公钥,采用公钥对加密私钥进行解密,得到随机私钥。并根据加密数据标识找到对应的目标加密数据值,随机采用随机私钥对该目标加密数据值进行解密,即得到明文数据。
在这个实施例中,通过产生一预设位数的随机私钥,并采用随机私钥对所述目标待加密数据进行加密,得到目标加密数据。随即获取公钥,采用公钥对随机私钥进行加密,得到加密私钥;最后将目标加密数据和加密私钥组成已加密数据。通过上述方式对待传输数据进行加密,保证了数据加密的安全性。
在一实施例中,目标待加密数据包括目标待加密数据名和目标待加密数据名值。
在本实施例中,如图6所示,采用随机私钥对目标待加密数据进行加密,得到目标加密数据,具体包括如下步骤:
S411:采用随机私钥对目标待加密数据的目标待加密数据值进行加密,得到目标加密数据值。
可以理解地,在数据加密的过程中,为了减少数据的计算量,可以仅对目标待加密数据值进行加密即可。故采用加密算法并使用随机私钥对目标待加密数据的目标待加密数据值进行加密,得到目标加密数据值。
S412:将目标待加密数据名确定为加密数据标识。
在该步骤中,目标待加密数据名不需要进行加密,将目标待加密数据名确定为加密数据标识,用于在解密时,可以直接根据该加密数据标识直接定位到哪一部分数据是经过了加密处理的,以助于后续需要进行解密操作时可以快读定位到需要解密的数据,将该加密数据标识对应的目标加密数据值进行相应的解密处理,提高了数据处理效率。
S413:将目标加密数据值和加密数据标识组成目标加密数据。
在通过步骤S411和步骤S412分别得到目标加密数据值和加密数据标识之后,将这两者组成目标加密数据。
在这个实施例中,采用随机私钥对目标待加密数据的目标待加密数据值进行加密,得到目标加密数据值,以减少数据的计算量。将目标待加密数据名确定为加密数据标识;将目标加密数据值和加密数据标识组成目标加密数据。以助于后续需要进行解密操作时可以快读定位到需要解密的数据,将该加密数据标识对应的目标加密数据值进行相应的解密处理,提高了数据处理效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据加密装置,该数据加密装置与上述实施例中数据加密方法一一对应。如图7所示,该数据加密装置包括数据加密请求获取模块10、待传输数据查询模块20、目标待加密数据获取模块30和数据加密模块40。各功能模块详细说明如下:
数据加密请求获取模块10,用于获取数据加密请求,数据加密请求包括待传输数据。
待传输数据查询模块20,用于查询待传输数据,判断待传输数据中是否存在需要加密的数据。
目标待加密数据获取模块30,用于若待传输数据中存在需要加密的数据,则采用预设方式从待传输数据中获取目标待加密数据。
数据加密模块40,用于对目标待加密数据进行加密,得到已加密数据。
优选地,如图8所示,目标待加密数据获取模块30包括加密配置信息获取单元31、第一待加密数据获取单元32、第二待加密数据获取单元33和目标待加密数据组成单元34。
第一加密配置信息获取单元31,用于获取加密配置信息,根据所述加密配置信息获取对应的正则表达式和匹配字符串。
第一待加密数据获取单元32,用于采用所述正则表达式查询待传输数据,获取第一待加密数据。
第二待加密数据获取单元33,用于采用所述匹配字符串查询待传输数据,获取第二待加密数据。
第一目标待加密数据组成单元34,用于将所述第一待加密数据和所述第二待加密数据组成目标待加密数据。
优选地,待传输数据中包括N个子传输数据,其中,N为正整数。待传输数据查询模块20还用于查询任一子传输数据,若子传输数据中存在需要加密的数据,则待传输数据中存在需要加密的数据。
优选地,目标待加密数据获取模块30包括第三待加密数据获取单元、第二加密配置信息获取单元、第四待加密数据获取单元和第二目标待加密数据组成单元。
第三待加密数据获取单元,用于采用预设的正则表达式查询待传输数据,获取第一待加密数据。
第二加密配置信息获取单元,用于获取加密配置信息,根据加密配置信息获取对应的匹配字符串。
第四待加密数据获取单元,用于采用匹配字符串查询待传输数据,获取第二待加密数据。
第二目标待加密数据组成单元,用于将第一待加密数据和第二待加密数据组成目标待加密数据。
优选地,数据加密模块40包括目标加密数据获取单元、加密私钥获取单元和已加密数据组成单元。
目标加密数据获取单元,用于产生一预设位数的随机私钥,采用随机私钥对目标待加密数据进行加密,得到目标加密数据。
加密私钥获取单元,用于获取公钥,采用公钥对随机私钥进行加密,得到加密私钥。
已加密数据组成单元,用于将目标加密数据和加密私钥组成已加密数据。
优选地,目标加密数据获取单元包括目标加密数据值获取子单元、加密数据标识确定子单元和目标加密数据组成子单元。
目标加密数据值获取子单元,用于采用随机私钥对目标待加密数据的目标待加密数据值进行加密,得到目标加密数据值。
加密数据标识确定子单元,用于将目标待加密数据名确定为加密数据标识。
目标加密数据组成子单元,用于将目标加密数据值和加密数据标识组成目标加密数据。
关于数据加密装置的具体限定可以参见上文中对于数据加密方法的限定,在此不再赘述。上述数据加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述数据加密方法中使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据加密方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取数据加密请求,所述数据加密请求包括待传输数据;
查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据;
若所述待传输数据中存在需要加密的数据,则采用预设方式从所述待传输数据中获取目标待加密数据;
对所述目标待加密数据进行加密,得到已加密数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取数据加密请求,所述数据加密请求包括待传输数据;
查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据;
若所述待传输数据中存在需要加密的数据,则采用预设方式从所述待传输数据中获取目标待加密数据;
对所述目标待加密数据进行加密,得到已加密数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种数据加密方法,其特征在于,包括:
获取数据加密请求,所述数据加密请求包括待传输数据;
查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据;
若所述待传输数据中存在需要加密的数据,则采用预设方式从所述待传输数据中获取目标待加密数据;
对所述目标待加密数据进行加密,得到已加密数据。
2.如权利要求1所述的数据加密方法,其特征在于,所述待传输数据中包括N个子传输数据,其中,N为正整数;
所述查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据,具体包括如下步骤:
查询任一所述子传输数据,若所述子传输数据中存在需要加密的数据,则所述待传输数据中存在需要加密的数据。
3.如权利要求1所述的数据加密方法,其特征在于,所述采用预设方式从所述待传输数据中获取目标待加密数据,具体包括如下步骤:
获取加密配置信息,根据所述加密配置信息获取对应的正则表达式和匹配字符串;
采用所述正则表达式查询待传输数据,获取第一待加密数据;
采用所述匹配字符串查询待传输数据,获取第二待加密数据;
将所述第一待加密数据和所述第二待加密数据组成目标待加密数据。
4.如权利要求1所述的数据加密方法,其特征在于,所述采用预设方式从所述待传输数据中获取目标待加密数据,具体包括如下步骤:
采用预设的正则表达式查询待传输数据,获取第一待加密数据;
获取加密配置信息,根据所述加密配置信息获取对应的匹配字符串;
采用所述匹配字符串查询待传输数据,获取第二待加密数据;
将所述第一待加密数据和所述第二待加密数据组成目标待加密数据。
5.如权利要求1所述的数据加密方法,其特征在于,所述对所述目标待加密数据进行加密,得到已加密数据,具体包括如下步骤:
产生一预设位数的随机私钥,采用所述随机私钥对所述目标待加密数据进行加密,得到目标加密数据;
获取公钥,采用公钥对所述随机私钥进行加密,得到加密私钥;
将所述目标加密数据和所述加密私钥组成已加密数据。
6.如权利要求5所述的数据加密方法,其特征在于,所述目标待加密数据包括目标待加密数据名和目标待加密数据名值;
所述采用所述随机私钥对所述目标待加密数据进行加密,得到目标加密数据,具体包括如下步骤:
采用随机私钥对所述目标待加密数据的目标待加密数据值进行加密,得到目标加密数据值;
将所述目标待加密数据名确定为加密数据标识;
将所述目标加密数据值和加密数据标识组成目标加密数据。
7.一种数据加密装置,其特征在于,包括:
数据加密请求获取模块,用于获取数据加密请求,所述数据加密请求包括待传输数据;
待传输数据查询模块,用于查询所述待传输数据,判断所述待传输数据中是否存在需要加密的数据;
目标待加密数据获取模块,用于若所述待传输数据中存在需要加密的数据,则采用预设方式从所述待传输数据中获取目标待加密数据;
数据加密模块,用于对所述目标待加密数据进行加密,得到已加密数据。
8.如权利要求7所述的数据加密装置,其特征在于,目标待加密数据获取模块包括:
加密配置信息获取单元,用于获取加密配置信息,根据所述加密配置信息获取对应的正则表达式和匹配字符串;
第一待加密数据获取单元,用于采用所述正则表达式查询待传输数据,获取第一待加密数据;
第二待加密数据获取单元,用于采用所述匹配字符串查询待传输数据,获取第二待加密数据;
目标待加密数据组成单元,用于将所述第一待加密数据和所述第二待加密数据组成目标待加密数据。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述数据加密方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811208032.5A CN109246130A (zh) | 2018-10-17 | 2018-10-17 | 数据加密方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811208032.5A CN109246130A (zh) | 2018-10-17 | 2018-10-17 | 数据加密方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109246130A true CN109246130A (zh) | 2019-01-18 |
Family
ID=65053219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811208032.5A Pending CN109246130A (zh) | 2018-10-17 | 2018-10-17 | 数据加密方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246130A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110135175A (zh) * | 2019-04-26 | 2019-08-16 | 平安科技(深圳)有限公司 | 基于区块链的信息处理、获取方法、装置、设备及介质 |
CN110505066A (zh) * | 2019-08-30 | 2019-11-26 | 北京字节跳动网络技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN111177737A (zh) * | 2019-08-16 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种基于数据内容的数据加密方法以及相关装置 |
CN111460484A (zh) * | 2020-04-20 | 2020-07-28 | 深圳市云智融科技有限公司 | 信息加密方法、信息加密装置及计算机可读存储介质 |
CN112329033A (zh) * | 2020-10-30 | 2021-02-05 | 上海钐昆网络科技有限公司 | 一种数据加密方法、装置、设备及存储介质 |
CN114239028A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN115208701A (zh) * | 2022-09-15 | 2022-10-18 | 广州万协通信息技术有限公司 | 数据包选择加密方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281261A (zh) * | 2010-06-10 | 2011-12-14 | 杭州华三通信技术有限公司 | 一种数据传输方法、系统和装置 |
CN104601325A (zh) * | 2013-10-31 | 2015-05-06 | 华为技术有限公司 | 数据加密方法、数据解密方法、装置、设备及系统 |
CN105635131A (zh) * | 2015-12-25 | 2016-06-01 | 东软集团股份有限公司 | 传输数据方法、装置及服务器 |
CN105991670A (zh) * | 2015-01-28 | 2016-10-05 | 中兴通讯股份有限公司 | 数据分享方法、数据分享装置及终端 |
CN107102831A (zh) * | 2017-04-14 | 2017-08-29 | 北京小度信息科技有限公司 | 数据打印方法和设备 |
CN107666479A (zh) * | 2017-08-02 | 2018-02-06 | 上海壹账通金融科技有限公司 | 信息加密解密方法、装置、计算机设备和存储介质 |
-
2018
- 2018-10-17 CN CN201811208032.5A patent/CN109246130A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281261A (zh) * | 2010-06-10 | 2011-12-14 | 杭州华三通信技术有限公司 | 一种数据传输方法、系统和装置 |
CN104601325A (zh) * | 2013-10-31 | 2015-05-06 | 华为技术有限公司 | 数据加密方法、数据解密方法、装置、设备及系统 |
CN105991670A (zh) * | 2015-01-28 | 2016-10-05 | 中兴通讯股份有限公司 | 数据分享方法、数据分享装置及终端 |
CN105635131A (zh) * | 2015-12-25 | 2016-06-01 | 东软集团股份有限公司 | 传输数据方法、装置及服务器 |
CN107102831A (zh) * | 2017-04-14 | 2017-08-29 | 北京小度信息科技有限公司 | 数据打印方法和设备 |
CN107666479A (zh) * | 2017-08-02 | 2018-02-06 | 上海壹账通金融科技有限公司 | 信息加密解密方法、装置、计算机设备和存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110135175A (zh) * | 2019-04-26 | 2019-08-16 | 平安科技(深圳)有限公司 | 基于区块链的信息处理、获取方法、装置、设备及介质 |
CN111177737A (zh) * | 2019-08-16 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种基于数据内容的数据加密方法以及相关装置 |
CN110505066A (zh) * | 2019-08-30 | 2019-11-26 | 北京字节跳动网络技术有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN111460484A (zh) * | 2020-04-20 | 2020-07-28 | 深圳市云智融科技有限公司 | 信息加密方法、信息加密装置及计算机可读存储介质 |
CN112329033A (zh) * | 2020-10-30 | 2021-02-05 | 上海钐昆网络科技有限公司 | 一种数据加密方法、装置、设备及存储介质 |
CN114239028A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN115208701A (zh) * | 2022-09-15 | 2022-10-18 | 广州万协通信息技术有限公司 | 数据包选择加密方法及装置 |
CN115208701B (zh) * | 2022-09-15 | 2022-12-20 | 广州万协通信息技术有限公司 | 数据包选择加密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246130A (zh) | 数据加密方法、装置、计算机设备及存储介质 | |
CN110365670B (zh) | 黑名单共享方法、装置、计算机设备和存储介质 | |
CN109471844B (zh) | 文件共享方法、装置、计算机设备和存储介质 | |
WO2020244070A1 (zh) | 数字信息加密方法、装置、计算机设备和存储介质 | |
CN110881063B (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
CN109784931B (zh) | 一种基于区块链的数据查询平台的查询方法 | |
TWI354898B (zh) | ||
CN108965416B (zh) | 医疗数据共享方法、装置、计算机设备和存储介质 | |
CN109067528A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN111935080A (zh) | 区块链的数据共享方法、装置、计算机设备和存储介质 | |
US11546348B2 (en) | Data service system | |
CN108777709A (zh) | 网站访问方法、装置、计算机设备和存储介质 | |
CN109347627A (zh) | 数据加解密方法、装置、计算机设备及存储介质 | |
CN107528917B (zh) | 一种文件存储方法及装置 | |
CN110135175A (zh) | 基于区块链的信息处理、获取方法、装置、设备及介质 | |
CN110689349A (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
CN102710412B (zh) | 加密算法兼容管理的方法及装置 | |
CN109347625A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN110601855B (zh) | 一种根证书管理方法、装置及电子设备、存储介质 | |
CN106452770A (zh) | 一种数据加密方法、解密方法、装置和系统 | |
KR101952329B1 (ko) | 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체 | |
CN111192050B (zh) | 一种数字资产私钥存储提取方法及装置 | |
EP3021516A1 (en) | Method and server for providing transaction keys | |
CN117371011A (zh) | 数据隐匿查询方法、电子设备和可读存储介质 | |
CN112328639A (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: 20190118 |