CN106250783B - 一种数据库数据加密、解密方法及装置 - Google Patents
一种数据库数据加密、解密方法及装置 Download PDFInfo
- Publication number
- CN106250783B CN106250783B CN201610777696.8A CN201610777696A CN106250783B CN 106250783 B CN106250783 B CN 106250783B CN 201610777696 A CN201610777696 A CN 201610777696A CN 106250783 B CN106250783 B CN 106250783B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- encryption
- data block
- decryption
- 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.)
- Active
Links
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据库数据加密、解密方法及装置,其中,所述加密方法包括:将数据以数据块进行缓存;将数据块进行压缩;对压缩后的数据块进行加密。由于加密是在数据库内核实现的,无需显示调用加密函数,也可使用数据库提供的加载工具进行批量加载,提高了数据库的性能。
Description
技术领域
本发明属于数据库技术领域,尤其是涉及一种数据库数据加密、解密方法及装置。
背景技术
在大数据环境下,安全是一个容易被忽略的特性。在所有的大数据解决方案中,加密也是一个很少被提到的词。但在很多实际场景中,都有对数据加密的需求,而且越来越多的场景是需要加密的只是部分数据,及加密与非加密数据同时存储在同一张表中,这就对列级加密提出了需求。
在常见的数据库中,加密都是通过使用加密函数来实现,即通过将原始数据调用加密函数生成加密数据,再将加密后的数据插入到数据库中,这种实现方式加密是在数据库内核之外实现的,而且需要用户通过显式地调用加密函数来实现,不方便使用。另外,由于是通过调用函数的方式,无法使用数据库提供的数据加载工具进行数据批量加载,性能低下。
发明内容
本发明实施例提供了一种数据库数据加密、解密方法及装置,以解决现有技术中数据加密方式无法实现批量加载的技术问题。
第一方面,本发明实施例提供了一种数据库数据加密方法,包括:
在建立表时,检查所述表的属性是否包括加密关键字;
在所述表的属性中包括加密关键字时,将数据以数据块进行加密;
将加密后的数据写入存储文件。
进一步的,所述将数据以数据块进行加密,包括:
将数据以数据块进行缓存;
将数据块进行压缩;
对压缩后的数据块进行加密。
第二方面,本发明实施例还提供了一种数据库数据解密方法,包括:
接收存储文件;
按照预设的解密算法对数据块进行解密,获取解密后的数据;
将解密后的数据提供给数据库上层。
进一步的,所述按照预设的解密算法解密所述数据块,包括:
调用预设的解密算法解密所述数据块;
对解密后的数据块进行解压缩。
第三方面,本发明实施例还提供了一种数据库数据加密装置,包括:
检查单元,用于在建立表时,检查所述表的属性是否包括加密关键字;
加密单元,用于在所述表的属性中包括加密关键字时,将数据以数据块进行加密;
写入单元,用于将加密后的数据写入存储文件。
进一步的,所述加密单元具体用于:
将数据以数据块进行缓存;
将数据块进行压缩;
对压缩后的数据块进行加密。
第四方面,本发明实施例还提供了一种数据库数据解密装置,包括:
接收单元,用于接收存储文件;
解密单元,用于按照预设的解密算法对所述数据块进行解密,获取解密后的数据;
提供单元,用于将解密后的数据提供给数据库上层。
进一步的,所述解密单元用于:
调用预设的解密算法解密所述数据块;
对解密后的数据块进行解压缩。
本发明实施例提供的数据库数据加密、解密方法及装置,通过在数据进入数据库后,在数据库将数据实际写入存储文件之前,将数据以数据块为单位调用加密函数进行加密,然后再将加密后的数据写入存储文件中。由于加密是在数据库内核实现的,无需显示调用加密函数,也可使用数据库提供的加载工具进行批量加载,提高了数据库的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的数据库数据加密方法的流程示意图;
图2是本发明实施例二提供的数据库数据解密方法的流程示意图;
图3是本发明实施例三提供的数据库数据加密装置的结构示意图;
图4是本发明实施例四提供的数据库数据解密装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1是本发明实施例一提供的数据库数据加密方法的流程示意图,本实施例可适用于在数据库中数据显性加密的情况,该方法可以由数据库数据加密装置来执行,该装置可由软件/硬件方式实现,并可集成于数据库系统中。
参见图1,所述数据库数据加密方法,包括:
S110,在建立表时,检查所述表的属性是否包括加密关键字。
在前端,修改创建表的语法,以支持指定加密关键字。示例性的,所述加密关键字为ENCRYPT。ENCRYPT关键字可以出现在表属性中,也可以出现在列属性中,分别对应表级及列级加密。将ENCRYPT属性保存至元数据中。
S120,在所述表的属性中包括加密关键字时,将数据以数据块进行加密。
相应的,在属性中包括加密关键字ENCRYPT时,在数据库将数据实际写入存储文件之前,将数据以数据块为单位调用加密函数进行加密,采用加密算法能够对数据进行有效的加密,示例性的,加密前的数据如下:
0000000:5900 0000 0202 0000 0009 0000 000d 3928 Y.............9(
0000010:a801 0000 000b 0000 0009 0000 0003 0000 ................
0000020:0003 0000 000b 0000 0009 0000 0003 0000 ................
0000030:0003 0000 0000 0000 0015 0000 0003 0000 ................
0000040:0000 0300 0000 0300 0000 0300 0000 0000 ................
0000050:6162 6365 6673 7364 66 abcefssdf
相应的,将上述数据进行加密后,
0000000:5900 0000 0a02 0000 0009 0000 00f9 7dc2 Y.............}.
0000010:4201 0000 000b 0000 0009 0000 0003 0000 B...............
0000020:0003 0000 000b 0000 0009 0000 0003 0000 ................
0000030:0003 0000 0000 0000 0015 0000 0003 0000 ................
0000040:0000 0300 0000 0300 0000 0300 0000c085 ................
0000050:de82 3414 3cdf 99b6 0777e58d 17b4 ..4.<....w....
由上述可以看出,可以实现对数据的有效加密。
S130,将加密后的数据写入存储文件。
将加密后的数据写入存储文件中。
本发明实施例通过在数据进入数据库后,在数据库将数据实际写入存储文件之前,将数据以数据块为单位调用加密函数进行加密,然后再将加密后的数据写入存储文件中。由于加密是在数据库内核实现的,无需显示调用加密函数,也可使用数据库提供的加载工具进行批量加载,提高了数据库的性能。
在本实施例的一个优选实施方式中,将数据以数据块进行加密具体优化为:将数据以数据块进行缓存;将数据块进行压缩;对压缩后的数据块进行加密。通过在加密以前进行压缩,可以有效提升加密性能。
实施例二
图2是本发明实施例一提供的数据库数据解密方法的流程示意图,本实施例可适用于在数据库中加载加密数据的情况,该方法可以由数据库数据解密装置来执行,该装置可由软件/硬件方式实现,并可集成于数据库系统中。
参见图2,所述数据库数据解密方法,包括:
S210,接收存储文件。
由于加密数据是在用户前端进行加密后生成的存储文件,因此在将数据写入数据库前,需要先接收相应的存储文件。
S220,按照预设的解密算法对数据块进行解密,获取解密后的数据。
采用与加密算法对应的解密算法对存储文件按中的数据块进行解密,获取解密后的数据。
S230,将解密后的数据提供给数据库上层。
将解密后的数据提供给上层使用,供上层进行加载或者其它应用。
本实施例通以数据块为单位调用解密函数进行解密,然后再将解密后的数据写提供给数据库上层。可使用数据库提供的加载工具进行批量加载,提高了数据库的性能。
在本实施例的一个优选实施方式中,将所述按照预设的解密算法解密所述数据块,具体优化为:调用预设的解密算法解密所述数据块;对解密后的数据块进行解压缩。由于数据可能先被加密后被压缩,为还原数据块中的数据,需要调用预设的解密算法解密所述数据块;对解密后的数据块进行解压缩,以获取到数据块中的原始数据。
实施例三
图3是本发明实施例三提供的数据库数据加密装置的结构示意图,如图3所示,所述装置包括:
检查单元310,用于在建立表时,检查所述表的属性是否包括加密关键字;
加密单元320,用于在所述表的属性中包括加密关键字时,将数据以数据块进行加密;
写入单元330,用于将加密后的数据写入存储文件。
进一步的,所述加密单元具体用于:
将数据以数据块进行缓存;
将数据块进行压缩;
对压缩后的数据块进行加密。
本发明实施例提供的数据库数据加密装置,通过在数据进入数据库后,在数据库将数据实际写入存储文件之前,根据所建立表的属性,将数据以数据块进行加密,并加加密后的数据写入存储文件。由于加密是在数据库内核实现的,无需显示调用加密函数,也可使用数据库提供的加载工具进行批量加载,提高了数据库的性能。
实施例四
图4是本发明实施例四提供的数据库数据解密装置的结构示意图,如图4所示,所述装置包括:
接收单元410,用于接收存储文件;
解密单元420,用于按照预设的解密算法对所述数据块进行解密,获取解密后的数据;
提供单元430,用于将解密后的数据提供给数据库上层。
进一步的,所述解密单元用于:
调用预设的解密算法解密所述数据块;
对解密后的数据块进行解压缩。
本发明实施例提供的数据库数据解密装置,用于接收存储文件,按照预设的解密算法对数据进行解密,并获取解密后的数据,提供给数据库上层,提高了数据库的性能。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (4)
1.一种数据库数据加密方法,其特征在于,包括:
在建立表时,检查所述表的属性是否包括加密关键字;
在所述表的属性中包括加密关键字时,将数据以数据块进行缓存;
将数据块进行压缩;
对压缩后的数据块进行加密;
将加密后的数据写入存储文件。
2.一种数据库数据解密方法,其特征在于,包括:
接收存储文件;
调用预设的解密算法解密所述数据块;
对解密后的数据块进行解压缩,获取解密后的数据;
将解密后的数据提供给数据库上层。
3.一种数据库数据加密装置,其特征在于,包括:
检查单元,用于在建立表时,检查所述表的属性是否包括加密关键字;
加密单元,用于在所述表的属性中包括加密关键字时,将数据以数据块进行加密;
写入单元,用于将加密后的数据写入存储文件;
所述加密单元具体用于:
将数据以数据块进行缓存;
将数据块进行压缩;
对压缩后的数据块进行加密。
4.一种数据库数据解密装置,其特征在于,包括:
接收单元,用于接收存储文件;
解密单元,用于按照预设的解密算法对所述数据块进行解密,获取解密后的数据;
提供单元,用于将解密后的数据提供给数据库上层;
所述解密单元用于:
调用预设的解密算法解密所述数据块;
对解密后的数据块进行解压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610777696.8A CN106250783B (zh) | 2016-08-31 | 2016-08-31 | 一种数据库数据加密、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610777696.8A CN106250783B (zh) | 2016-08-31 | 2016-08-31 | 一种数据库数据加密、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106250783A CN106250783A (zh) | 2016-12-21 |
CN106250783B true CN106250783B (zh) | 2019-10-18 |
Family
ID=58081017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610777696.8A Active CN106250783B (zh) | 2016-08-31 | 2016-08-31 | 一种数据库数据加密、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106250783B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110568992A (zh) * | 2018-06-06 | 2019-12-13 | 华为技术有限公司 | 一种数据处理装置及方法 |
CN109684854B (zh) * | 2018-11-20 | 2022-02-11 | 华中科技大学 | 一种适用于企业管理信息系统的底层数据加密方法 |
CN111460498A (zh) * | 2020-03-30 | 2020-07-28 | 成都梆梆信息技术咨询服务有限公司 | 一种数据加密、解密方法及其装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902932A (zh) * | 2012-09-18 | 2013-01-30 | 武汉华工安鼎信息技术有限责任公司 | 基于sql重写的数据库外部加解密系统及其使用方法 |
CN103500224A (zh) * | 2013-10-18 | 2014-01-08 | 税友软件集团股份有限公司 | 一种数据写入方法及装置、数据读取方法及装置 |
CN104636444A (zh) * | 2015-01-13 | 2015-05-20 | 大唐移动通信设备有限公司 | 一种数据库的加解密方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880879B2 (en) * | 2008-09-04 | 2014-11-04 | Intel Corporation | Accelerated cryptography with an encryption attribute |
-
2016
- 2016-08-31 CN CN201610777696.8A patent/CN106250783B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902932A (zh) * | 2012-09-18 | 2013-01-30 | 武汉华工安鼎信息技术有限责任公司 | 基于sql重写的数据库外部加解密系统及其使用方法 |
CN103500224A (zh) * | 2013-10-18 | 2014-01-08 | 税友软件集团股份有限公司 | 一种数据写入方法及装置、数据读取方法及装置 |
CN104636444A (zh) * | 2015-01-13 | 2015-05-20 | 大唐移动通信设备有限公司 | 一种数据库的加解密方法及装置 |
Non-Patent Citations (1)
Title |
---|
《基于表字段的数据库加密服务器的设计与实现》;孙萍萍;《计算机与现代化》;20091115;第6-11、15页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106250783A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6055989B1 (ja) | コンピュータプログラム、秘密管理方法及びシステム | |
US20170046281A1 (en) | Address dependent data encryption | |
US20100095115A1 (en) | File encryption while maintaining file size | |
US10592679B2 (en) | Support for changing encryption classes of files | |
CN106250783B (zh) | 一种数据库数据加密、解密方法及装置 | |
CN105022936A (zh) | 一种类class文件加密解密方法和装置 | |
US10454679B2 (en) | File system support for rolling keys on file extents | |
US9256756B2 (en) | Method of encryption and decryption for shared library in open operating system | |
TWI737164B (zh) | 資料互動方法、裝置、伺服器和電子設備 | |
CN103279715A (zh) | 数据库数据加解密方法及装置 | |
CN110650191A (zh) | 一种分布式存储系统的数据读写方法 | |
CN108229190B (zh) | 透明加解密的控制方法、装置、程序、存储介质和电子设备 | |
WO2015176531A1 (zh) | 终端数据写入、读取的方法及装置 | |
CN110826099A (zh) | 适用于嵌入式实时操作系统的安全存储方法及系统 | |
CN111177773A (zh) | 一种基于网卡rom的全盘加解密方法及系统 | |
CN101908361B (zh) | 一种u盘私有信息隐藏方法 | |
CN104239778B (zh) | 基于Android系统的应用的加密启动方法 | |
CN103745170B (zh) | 磁盘数据的处理方法及装置 | |
CN102426637B (zh) | 一种嵌入式数据库加密存储方法 | |
CN111159726A (zh) | 一种基于uefi环境变量的全盘加解密方法及系统 | |
CN116594567A (zh) | 信息管理方法、装置和电子设备 | |
CN111143879A (zh) | 一种Android平台SD卡文件保护方法、终端设备及存储介质 | |
US20140337638A1 (en) | Systems and Methods for Secure Storage on a Mobile Device | |
CN108985109A (zh) | 一种数据存储方法及装置 | |
CN111639349B (zh) | 一种数据加密处理方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |