CN114741713A - 数据库加密方法、装置、电子设备和存储介质 - Google Patents

数据库加密方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114741713A
CN114741713A CN202210377152.8A CN202210377152A CN114741713A CN 114741713 A CN114741713 A CN 114741713A CN 202210377152 A CN202210377152 A CN 202210377152A CN 114741713 A CN114741713 A CN 114741713A
Authority
CN
China
Prior art keywords
input
database
dynamic encryption
target data
data
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
Application number
CN202210377152.8A
Other languages
English (en)
Inventor
李强乙
宣伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202210377152.8A priority Critical patent/CN114741713A/zh
Publication of CN114741713A publication Critical patent/CN114741713A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种数据库加密方法、装置和电子设备,属于数据处理领域。数据库加密方法,包括:接收用户对数据的第一输入;响应于第一输入,通过动态加密库对数据进行加密,从所述动态加密库中调用与所述第一输入对应的方法,并执行目标操作;其中,在所述第一输入为编辑操作的情况下,所述目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在所述第一输入为查询操作的情况下,所述目标操作为读取磁盘中的目标数据,并解密所述目标数据的操作。

Description

数据库加密方法、装置、电子设备和存储介质
技术领域
本申请属于数据处理技术领域,具体涉及一种数据库加密方法、装置、电子设备和存储介质。
背景技术
数据库中存储的数据大多是企业的机密数据、核心数据。例如用户将企业生产、运营过程中产生的业务数据通过MySQL、PostgreSQL等数据库进行保存,这些数据都是明文形式保存在服务器的磁盘文件中。为确保数据安全,需要对这些数据文件进行加密存储。
现有对数据库加密的技术包括网关加密和改造代码加密,其中,网关加密是在数据库软件之前增加网关,在网关中进行加密和解密。但是网关加密的方法难以联合检索、无法使用查询优化、并发处理,难以实现存储过程、触发器、函数等存储程序,对数据库功能造成非常大的影响。改造代码加密是通过改造数据库程序源代码,实现加密和解密。但是改造代码的工作量大、风险大,也可能导致部分功能无法使用。
因此,提供一种安全高效的数据库加密方法十分有必要。
发明内容
本申请实施例的目的是提供一种数据库加密方法、装置、电子设备和存储介质,能够解决现有数据库加密方法会影响数据库功能的问题。
第一方面,本申请实施例提供了一种数据库加密方法,包括:接收用户对数据的第一输入;响应于所述第一输入,通过动态加密库对数据进行加密,从所述动态加密库中调用与所述第一输入对应的方法,并执行目标操作;其中,在所述第一输入为编辑操作的情况下,所述目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在所述第一输入为查询操作的情况下,所述目标操作为读取磁盘中的目标数据,并解密所述目标数据的操作。
第二方面,本申请实施例提供了一种数据库加密装置,包括:数据接收模块,用于接收用户对数据的第一输入;执行模块,用于响应于所述第一输入,通过动态加密库对数据进行加密,从所述动态加密库中调用与所述第一输入对应的方法,并执行目标操作;其中,在所述第一输入为编辑操作的情况下,所述目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在所述第一输入为查询操作的情况下,所述目标操作为读取磁盘中的目标数据,并解密所述目标数据的操作。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本申请实施例中,通过在接收用户对数据的第一输入后,根据第一输入从动态加密库中调用与第一输入对应的方法,并执行目标操作,在第一输入为编辑操作的情况下,对编辑后的目标数据进行加密,并写入磁盘的操作,在第一输入为查询操作的情况下,读取磁盘中的目标数据,并解密目标数据的操作,通过在数据库的加密路径设置动态加密库来实现对数据的保护,能够在不影响数据库现有功能且不改变源代码的情况下,实现对数据库中数据的保护。
附图说明
图1是本实施例提供的一种数据库加密方法的步骤流程图;
图2是本实施例提供的一种数据库加密方法的数据写入的步骤流程图;
图3是本实施例提供的一种数据库加密方法的数据读取的步骤流程图;
图4是本实施例提供的一种数据库加密装置的结构示意图;
图5是本实施例提供的一种电子设备的结构示意图;
图6是实现本申请实施例的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据库加密方法进行详细地说明。
参考图1,本实施例提供的一种数据库加密方法包括如下步骤:
S101、接收用户对数据的第一输入。
其中,第一输入可以是对数据的编辑操作,或者,第一输入可以是对数据的查询操作。
能够理解的,若数据的加密方式是通过网关加密,则需要在数据库软件之前增加网关,在网关中进行加密和解密。也就是数据库的加密路径包含有网关。但是此方式难以联合检索、无法并发处理,难以实现存储过程、触发器、函数等存储程序,对数据库功能影响非常大。因此,为了避免数据加密对数据库功能的影响,可以通过在数据库的加密路径上设置动态加密库来实现数据的加密。
具体地,在接收用户对数据的第一输入之前,还可以基于环境变量在数据的传输路径上预设动态加密库,在与数据库关联的程序被触发的情况下,加载动态加密库。
本实施例的动态加密库基于Hook函数创建,通过Hook技术在程序的执行过程中对数据进行干预。采用动态加密库中的预设读写方法代替数据库中的读写方法,使用动态加密库对数据进行加密,从而对数据库存储数据的磁盘文件进行加密,重新设置数据的加密和解密路径,即使数据文件被窃取后,他人也无法破解其中的数据,从而保护用户的数据安全。
本实施例中,基于环境变量在数据的传输路径上预设动态加密库可以采用LD_PRELOAD环境变量指定动态加密库的绝对路径,其中,LD_PRELOAD是Linux系统的一个环境变量,它可以影响程序的运行时的链接,允许用户定义在程序运行前优先添加动态链接库,使得数据在传输时经过动态加密库,通过这个环境变量,可以在数据传输主程序和数据库之间加载动态加密库。
本实施例中,与数据库关联的程序被触发的情况可以是将数据存储在该数据库中的软件程序被启动,也可以是从数据库中获取数据的情况,也可以是数据库处于接收数据的情况等触发数据库工作的情况。
具体地,在与数据库关联的程序被触发的情况下,例如启动数据库软件时,动态加密库即处于加载完成状态,此时若对数据库中的数据进行编辑或查询时,其数据的加密路径就会通过动态加密库,从而确定数据的加密路径,提高数据安全性。
具体地,对数据的第一输入可以包括对数据进行编辑,如新增、修改和删除等编辑操作,还包括对数据进行查询的操作。
S102、响应于第一输入,通过动态加密库对数据进行加密,从动态加密库中调用与第一输入对应的方法,并执行目标操作。
可以理解的是,在对数据进行编辑的过程中,需要将编辑后的数据重新写入数据库的磁盘文件,以更新磁盘文件,为了实现文件的保密性能,数据会以加密的形式保存在磁盘文件中,当用户查询磁盘文件中的数据时,需要调取待查询的数据,再进行解密。
因此,本实施例在第一输入为编辑操作的情况下,目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在第一输入为查询操作的情况下,目标操作为读取磁盘中的目标数据,并解密目标数据的操作,从而可以根据不同的第一输入执行对应的数据处理过程。
本实施例中,根据第一输入从动态加密库中调用与第一输入对应的方法,包括:在第一输入为编辑操作的情况下,调用动态加密库中与第一输入对应的写函数,或者,在第一输入为查询操作的情况下,调用动态加密库中与第一输入对应的读函数。
本实施例中,动态加密库中与第一输入对应的写函数和数据库中与第一输入对应的写函数为同名函数,动态加密库中与第一输入对应的读函数和数据库中与第一输入对应的读函数为同名函数,此操作可以确保调用的动态加密库中的写函数或读函数是与目标数据相对应的,能够将目标数据写入到正确的地址,也可以从正确的地址读取到目标数据。
本实施例中,参考图2,在第一输入为编辑操作的情况下,执行目标操作,包括如下步骤:
S1021、获取数据库中与第一输入对应的目标数据地址。
可以理解的是,每一数据在数据库中具有特定的位置,通过获取该位置的地址可以获取对应的数据,当用户通过SQL调用级接口(structured query language call levelinterface)进行数据的编辑和查询时,可以根据与用户第一输入对应的目标数据确定与该目标数据对应的目标数据地址。本实施例中第一输入为用户通过SQL接口输入的目标数据的编辑内容,本实施例获取目标数据地址的目的是保证能够将加密后的目标数据写入正确的位置。
S1022、根据目标数据地址,得到动态加密库中与第一输入对应的写函数。
本实施例中,动态加密库中包含有与数据库中的写函数或读函数同名的函数,其中,写函数可以是fwrite或write,读函数可以是fread或read。
本实施例中,动态加密库是通过环境变量LD_PRELOAD指定的,可以有选择性的载入不同动态链接库中的相同函数,因此,动态加密库可以实现加载与数据库中的写函数同名的函数,也可以实现加载与数据库中的读函数同名的函数。则,根据目标数据地址,得到动态加密库中与第一输入对应的写函数,即,根据目标数据地址得到在数据库中写入目标数据的写函数,确定动态加密库中与数据库中写入目标数据的写函数同名的函数为动态加密库中与第一输入对应的写函数。
S1023、对目标数据进行加密,得到密文数据。
可以理解的是,用户的第一输入为明文数据,本实施例通过动态加密库中与第一输入对应的写函数的写入数据方法生成加密密钥,并使用对称加密算法对明文数据进行加密,得到密文数据。
S1024、使用动态加密库中与第一输入对应的写函数将密文数据写入磁盘。
本实施例根据S1022中得到的动态加密库中的写函数将S1023得到的密文数据写入磁盘。
本实施例采用动态加密库中的写函数将目标数据写入磁盘,而不再调用原有数据库中的写函数将目标数据写入磁盘,一方面不会对数据库的功能造成影响,需要改造数据库源代码,另一方面,可以通过动态加密库实现目标数据的加密。
本实施例中,参考图3,在第一输入为查询操作的情况下,执行目标操作,包括如下步骤:
S1025、获取数据库中与第一输入对应的目标数据地址。
本实施例中第一输入为用户通过SQL接口输入的目标数据的查询信息,本实施例获取目标数据地址的目的是保证能够从数据库的正确位置获取目标数据。
S1026、根据目标数据地址,得到动态加密库中与第一输入对应的读函数。
本实施例中,读函数可以是fread或read。动态加密库中包含有与数据库中的读函数同名的函数,动态加密库是通过环境变量LD_PRELOAD指定的,可以有选择性的载入不同动态链接库中的相同函数,因此,动态加密库可以实现加载与数据库中的读函数同名的函数。则,根据目标数据地址,得到动态加密库中与第一输入对应的读函数,即,根据目标数据地址得到在数据库中读取目标数据的读函数,确定动态加密库中与数据库中读取目标数据的读函数同名的函数为动态加密库中与第一输入对应的读函数。
S1027、根据动态加密库中与第一输入对应的读函数读取目标数据。
本实施例在数据库的目标数据地址,根据S1026中得到的动态加密库中的读函数读取目标数据。
S1028、对读取到的目标数据进行解密。
由于存入数据库的文件是加密的,因此,本实施例需要对目标数据进行解密,具体的解密方法可以采用与S1023相同的对称加密算法,以及获取S1023中生成的密钥,对目标数据进行解密,并将解密后的数据交给数据库软件进行处理后输出给用户。
本实施例采用动态加密库中的读函数来读取数据库中的目标数据,而不再调用原有数据库中的读函数来读取目标数据,可以安全高效的实现数据库中加密文件的解密和读取,由于其密钥必须经过动态加密库,即使黑客也无法破解数据库中的数据,从而保护用户的数据安全。
需要说明的是,本实施例的动态加密库可以直接与现有的MySQL数据库的连接池连接,MySQL数据库的连接池可以包括SQL接口、解析执行器和存储引擎,SQL接口用于接收与第一输入对应的SQL语句,解析执行器用于解析该SQL语句,存储引擎用于执行SQL语句,例如,SQL语句表征用户对目标数据进行编辑,则存储引擎用于确定程序的运行逻辑为先通过动态加密库对目标数据进行加密,再写入数据库的磁盘。本实施例的动态加密库可以直接与现有的MySQL数据库的连接池连接,使得本实施例具有普适性,以可以提高本实施例的适用性,与现有大部分数据库兼容。
本实施例通过在接收用户对数据的第一输入后,根据第一输入从动态加密库中调用与第一输入对应的方法,并执行目标操作,在第一输入为编辑操作的情况下,对编辑后的目标数据进行加密,并写入磁盘的操作,在第一输入为查询操作的情况下,读取磁盘中的目标数据,并解密目标数据的操作,通过在数据库的加密路径设置动态加密库来实现对数据的保护,能够在不影响数据库现有功能且不改变源代码的情况下,实现对数据库中数据的保护。
本申请实施例提供的数据库加密方法,执行主体可以为数据库加密装置。本申请实施例中以数据库加密装置执行数据库加密方法为例,说明本申请实施例提供的数据库加密装置。
参考图4,本实施例提供一种数据库加密装置,包括:
数据接收模块401,用于接收用户对数据的第一输入。
执行模块402,用于响应于第一输入,通过动态加密库对数据进行加密,根据第一输入从动态加密库中调用与所述第一输入对应的方法,并执行目标操作;其中,在所述第一输入为编辑操作的情况下,所述目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在所述第一输入为查询操作的情况下,所述目标操作为读取磁盘中的目标数据,并解密所述目标数据的操作。
本实施例提供的数据库加密装置,还包括路径加载模块403,所述路径加载模块用于基于环境变量在数据的传输路径上预设动态加密库,所述动态加密库基于Hook函数创建;在与所述数据库关联的程序被触发的情况下,加载动态加密库。
在一个例子中,执行模块402用于:在所述第一输入为编辑操作的情况下,调用所述动态加密库中与所述第一输入对应的写函数;或者,在所述第一输入为查询操作的情况下,调用所述动态加密库中与所述第一输入对应的读函数;其中,所述动态加密库中与所述第一输入对应的写函数和所述数据库中与所述第一输入对应的写函数为同名函数,所述动态加密库中与所述第一输入对应的读函数和所述数据库中与所述第一输入对应的读函数为同名函数。
在一个例子中,执行模块402用于:在所述第一输入为编辑操作的情况下,获取数据库中与所述第一输入对应的目标数据地址;根据所述目标数据地址,得到动态加密库中与所述第一输入对应的写函数;对与所述目标数据进行加密,得到密文数据;使用所述动态加密库中与所述第一输入对应的写函数将所述密文数据写入磁盘。
在一个例子中,执行模块402用于:在所述第一输入为查询操作的情况下,获取数据库中与所述第一输入对应的目标数据地址;根据所述目标数据地址,得到动态加密库中与所述第一输入对应的读函数;根据所述动态加密库中与所述第一输入对应的读函数读取目标数据;对读取到的所述目标数据进行解密。
本实施例通过在接收用户对数据的第一输入后,根据第一输入从动态加密库中调用与第一输入对应的方法,并执行目标操作,在第一输入为编辑操作的情况下,对编辑后的目标数据进行加密,并写入磁盘的操作,在第一输入为查询操作的情况下,读取磁盘中的目标数据,并解密目标数据的操作,通过在数据库的加密路径设置动态加密库来实现对数据的保护,能够在不影响数据库现有功能且不改变源代码的情况下,实现对数据库中数据的保护。
本申请实施例中的数据库加密装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的数据库加密装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的数据库加密装置能够实现图1至图3的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图5所示,本申请实施例还提供一种电子设备500,包括处理器501和存储器502,存储器502上存储有可在所述处理器501上运行的程序或指令,该程序或指令被处理器501执行时实现上述数据库加密方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图6为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器1010,用于接收用户对数据的第一输入;响应于第一输入,通过动态加密库对数据进行加密,根据第一输入从所述动态加密库中调用与所述第一输入对应的方法,并执行目标操作;其中,在所述第一输入为编辑操作的情况下,所述目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在所述第一输入为查询操作的情况下,所述目标操作为读取磁盘中的目标数据,并解密所述目标数据的操作。
在一个例子中,处理器1010,用于基于环境变量在数据的传输路径上预设动态加密库,所述动态加密库基于Hook函数创建;在与所述数据库关联的程序被触发的情况下,加载动态加密库。
在一个例子中,处理器1010,用于在所述第一输入为编辑操作的情况下,调用所述动态加密库中与所述第一输入对应的写函数;在所述第一输入为查询操作的情况下,调用所述动态加密库中与所述第一输入对应的读函数;其中,所述动态加密库中与所述第一输入对应的写函数和所述数据库中与所述第一输入对应的写函数为同名函数,所述动态加密库中与所述第一输入对应的读函数和所述数据库中与所述第一输入对应的读函数为同名函数。
在一个例子中,处理器1010,用于在所述第一输入为编辑操作的情况下,获取数据库中与所述第一输入对应的目标数据地址;根据所述目标数据地址,得到动态加密库中与所述第一输入对应的写函数;对所述目标数据进行加密,得到密文数据;使用所述动态加密库中与所述第一输入对应的写函数将所述密文数据写入磁盘。
在一个例子中,处理器1010,用于在所述第一输入为查询操作的情况下,获取数据库中与所述第一输入对应的目标数据地址;根据所述目标数据地址,得到动态加密库中与所述第一输入对应的读函数;根据所述动态加密库中与所述第一输入对应的读函数读取目标数据;对读取到的所述目标数据进行解密。
本实施例通过在接收用户对数据的第一输入后,根据第一输入从动态加密库中调用与第一输入对应的方法,并执行目标操作,在第一输入为编辑操作的情况下,对编辑后的目标数据进行加密,并写入磁盘的操作,在第一输入为查询操作的情况下,读取磁盘中的目标数据,并解密目标数据的操作,通过在数据库的加密路径设置动态加密库来实现对数据的保护,能够在不影响数据库现有功能且不改变源代码的情况下,实现对数据库中数据的保护。
应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072中的至少一种。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器1009可用于存储软件程序以及各种数据。存储器1009可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1009可以包括易失性存储器或非易失性存储器,或者,存储器1009可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器1009包括但不限于这些和任意其它适合类型的存储器。
处理器1010可包括一个或多个处理单元;可选的,处理器1010集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据库加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据库加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述数据库加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (12)

1.一种数据库加密方法,其特征在于,包括:
接收用户对数据的第一输入;
响应于所述第一输入,通过动态加密库对数据进行加密,从所述动态加密库中调用与所述第一输入对应的方法,并执行目标操作;
其中,在所述第一输入为编辑操作的情况下,所述目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在所述第一输入为查询操作的情况下,所述目标操作为读取磁盘中的目标数据,并解密所述目标数据的操作。
2.根据权利要求1所述的方法,其特征在于,在接收用户对数据的第一输入之前,所述方法包括:
基于环境变量在数据的传输路径上预设动态加密库,所述动态加密库基于Hook函数创建;
在与所述数据库关联的程序被触发的情况下,加载所述动态加密库。
3.根据权利要求1所述的方法,其特征在于,所述从所述动态加密库中调用与所述第一输入对应的方法,包括:
在所述第一输入为编辑操作的情况下,调用所述动态加密库中与所述第一输入对应的写函数;
或者,在所述第一输入为查询操作的情况下,调用所述动态加密库中与所述第一输入对应的读函数;
其中,所述动态加密库中与所述第一输入对应的写函数和所述数据库中与所述第一输入对应的写函数为同名函数,所述动态加密库中与所述第一输入对应的读函数和所述数据库中与所述第一输入对应的读函数为同名函数。
4.根据权利要求1所述的方法,其特征在于,在所述第一输入为编辑操作的情况下,所述执行目标操作,包括:
获取数据库中与所述第一输入对应的目标数据地址;
根据所述目标数据地址,得到动态加密库中与所述第一输入对应的写函数;
对所述目标数据进行加密,得到密文数据;
使用所述动态加密库中与所述第一输入对应的写函数将所述密文数据写入磁盘。
5.根据权利要求1所述的方法,其特征在于,在所述第一输入为查询操作的情况下,所述执行目标操作,包括:
获取数据库中与所述第一输入对应的目标数据地址;
根据所述目标数据地址,得到动态加密库中与所述第一输入对应的读函数;
根据所述动态加密库中与所述第一输入对应的读函数读取目标数据;
对读取到的所述目标数据进行解密。
6.一种数据库加密装置,其特征在于,包括:
数据接收模块,用于接收用户对数据的第一输入;
执行模块,用于响应于所述第一输入,通过动态加密库对数据进行加密,从所述动态加密库中调用与所述第一输入对应的方法,并执行目标操作;其中,在所述第一输入为编辑操作的情况下,所述目标操作为对编辑后的目标数据进行加密,并写入磁盘的操作;在所述第一输入为查询操作的情况下,所述目标操作为读取磁盘中的目标数据,并解密所述目标数据的操作。
7.根据权利要求6所述的装置,其特征在于,还包括路径加载模块,
所述路径加载模块,用于基于环境变量在数据的传输路径上预设动态加密库,所述动态加密库基于Hook函数创建;在与所述数据库关联的程序被触发的情况下,加载所述动态加密库。
8.根据权利要求6所述的装置,其特征在于,所述执行模块用于:
在所述第一输入为编辑操作的情况下,调用所述动态加密库中与所述第一输入对应的写函数;
或者,在所述第一输入为查询操作的情况下,调用所述动态加密库中与所述第一输入对应的读函数;
其中,所述动态加密库中与所述第一输入对应的写函数和所述数据库中与所述第一输入对应的写函数为同名函数,所述动态加密库中与所述第一输入对应的读函数和所述数据库中与所述第一输入对应的读函数为同名函数。
9.根据权利要求6所述的装置,其特征在于,所述执行模块用于:
在所述第一输入为编辑操作的情况下,获取数据库中与所述第一输入对应的目标数据地址;
根据所述目标数据地址,得到动态加密库中与所述第一输入对应的写函数;
对与所述目标数据进行加密,得到密文数据;
使用所述动态加密库中与所述第一输入对应的写函数将所述密文数据写入磁盘。
10.根据权利要求6所述的装置,其特征在于,所述执行模块用于:
在所述第一输入为查询操作的情况下,获取数据库中与所述第一输入对应的目标数据地址;
根据所述目标数据地址,得到动态加密库中与所述第一输入对应的读函数;
根据所述动态加密库中与所述第一输入对应的读函数读取目标数据;
对读取到的所述目标数据进行解密。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-5任一项所述的数据库加密方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-5任一项所述的数据库加密方法的步骤。
CN202210377152.8A 2022-04-11 2022-04-11 数据库加密方法、装置、电子设备和存储介质 Pending CN114741713A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210377152.8A CN114741713A (zh) 2022-04-11 2022-04-11 数据库加密方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210377152.8A CN114741713A (zh) 2022-04-11 2022-04-11 数据库加密方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN114741713A true CN114741713A (zh) 2022-07-12

Family

ID=82281035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210377152.8A Pending CN114741713A (zh) 2022-04-11 2022-04-11 数据库加密方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114741713A (zh)

Similar Documents

Publication Publication Date Title
CN106971121B (zh) 数据处理方法、装置、服务器及存储介质
CN107612683B (zh) 一种加解密方法、装置、系统、设备和存储介质
US20140258717A1 (en) Cloud application installed in client terminal connected to cloud server
US20060218649A1 (en) Method for conditional disclosure of identity information
CN106845167A (zh) 一种apk的加固方法和装置,及动态加载方法和装置
WO2019233259A1 (zh) 用于处理信息的方法和装置
CN115277143B (zh) 一种数据安全传输方法、装置、设备及存储介质
CN108763401A (zh) 一种文件的读写方法及设备
US20220092155A1 (en) Protecting an item of software
CN106250783B (zh) 一种数据库数据加密、解密方法及装置
KR20050063669A (ko) 다수의 키 캐시 매니저가 보안 칩의 암호화 키 저장부리소스를 공유하는 방법 및 컴퓨터 판독가능 기록 매체
CN111143879A (zh) 一种Android平台SD卡文件保护方法、终端设备及存储介质
CN111090616A (zh) 一种文件管理方法、对应装置、设备及存储介质
CN114741713A (zh) 数据库加密方法、装置、电子设备和存储介质
US9058503B2 (en) Systems and methods for secure storage on a mobile device
CN107463808B (zh) 集成在操作系统内的功能模块的调用方法
JP2013065237A (ja) モジュールの暗号化/復号化プログラム
CN110516468B (zh) 一种虚拟机内存快照加密的方法和装置
CN113839773A (zh) 一种luks密钥离线提取方法、终端设备及存储介质
US9245138B2 (en) Shared preferences in a multi-application environment
JP6215468B2 (ja) プログラム保護装置
CN113179161B (zh) 一种秘钥更换的方法、装置、计算机设备及存储介质
KR102417814B1 (ko) 회원 식별 정보에 기반하여 전자 문서에 삽입된 일부 콘텐츠에 대한 보안 설정을 지원하는 전자 문서 관리 서버 및 그 동작 방법
US20220318438A1 (en) Systems and methods for data security on a mobile device
CN117195856A (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