System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库,尤其涉及一种数据存取方法及装置。
技术介绍
1、在当前的数据库技术发展中,由于明文存储数据在遇到外部攻击、内部窃取数据,以及非法直接访问数据库等手段时,导致引起数据泄密,因此,大多数数据库在存储数据时,均采用了数据加密技术,其通过为数据库安装加密保护,从而提高数据存储的安全性。
2、现有技术中,在对数据库进行加密时,一般对数据库存储的全部数据进行加密,其在为数据库提供加密保护的同时,也需要消耗资源进行密钥管理、数据加密和数据解密,特别在数据加密或解密过程中,处理了较多的非敏感数据,这就导致浪费了大量数据库资源,降低数据存取的效率。
技术实现思路
1、本申请提供了一种数据存取方法及装置,以解决现有技术中在对数据库进行加密时,一般对数据库存储的全部数据进行加密,其需要消耗资源进行密钥管理、数据加密和数据解密,特别在数据加密或解密过程中,处理了较多的非敏感数据,这就导致浪费了大量数据库资源,降低数据存取效率的技术问题。
2、第一方面,本申请提供了一种数据存取方法,所述方法包括:
3、确定目标数据,以及所述目标数据对应的目标数据表;
4、确定所述目标数据表中的加密列;
5、对所述目标数据表中所述加密列对应的每一单元格数据进行加密,得到每一所述单元格数据对应的加密数据;
6、基于所述加密数据对所述目标数据进行存取。
7、作为一个可能的实现方式,所述对所述目标数据表中所述加密列对应的每一单元格
8、确定所述加密列是否被设置对应的加密区间和加密长度;
9、在确定所述加密列被设置对应的所述加密区间和所述加密长度的情况下,基于所述加密区间和所述加密长度,对每一所述单元格数据进行加密,得到每一所述单元格数据对应的加密数据;
10、在确定所述加密列未被设置对应的所述加密区间和所述加密长度的情况下,对所述加密列对应的每个单元格数据全部加密,得到第一加密字符;将所述第一加密字符确定为所述单元格数据对应的加密数据。
11、作为一个可能的实现方式,所述基于所述加密区间和所述加密长度,对每一所述单元格数据进行加密,得到每一所述单元格数据对应的加密数据,包括:
12、根据所述加密区间和所述加密长度,确定每一所述单元格数据的待加密数据和非加密数据;
13、对每个所述单元格数据的所述待加密数据进行加密,得到第二加密字符;
14、对每个所述单元格数据对应的所述第二加密字符和所述非加密数据进行组合,得到组合数据;
15、将所述组合数据,确定为所述单元格数据对应的加密数据。
16、作为一个可能的实现方式,所述基于所述加密数据对所述目标数据进行存取,包括:
17、将所述加密列对应的每个所述单元格数据替换为对应的所述加密数据,得到第一目标数据表;
18、在对所述目标数据进行存储时,为所述第一目标数据表中所述加密列添加预设的加密标识,并将所述加密列的元数据和所述第一目标数据表存储至预设的数据库,所述元数据包括所述加密列的字段标识、所述加密区间,以及所述加密长度;
19、在对所述目标数据进行读取时,读取所述目标数据对应的加密数据表和元数据;
20、根据所述元数据对所述加密数据表中的加密数据进行解密,得到解密数据表;
21、从所述解密数据表中,读取所述目标数据。
22、作为一个可能的实现方式,所述根据所述元数据对所述加密数据表中的加密数据进行解密,得到解密数据表,包括:
23、确定所述加密数据表中存在所述加密标识的目标加密列;
24、根据所述目标加密列对应的字段标识,确定所述目标加密列对应的目标元数据;
25、从所述目标元数据中获取所述目标加密列对应的目标加密区间和目标加密长度;
26、根据所述目标加密区间和所述目标加密长度对所述目标加密列对应的加密数据进行解密,得到所述目标加密列对应每一单元格数据的解密数据;
27、将所述解密数据替换对应单元格数据的加密数据,得到所述加密数据表对应的解密数据表。
28、作为一个可能的实现方式,所述根据所述目标加密区间和所述目标加密长度对所述目标加密列对应的加密数据进行解密,得到所述目标加密列对应每一单元格数据的解密数据,包括:
29、在所述目标加密区间和所述目标加密长度未被设置的情况下,直接对所述目标加密列对应的加密数据进行解密,得到所述目标加密列对应每一单元格数据的解密数据;
30、在所述目标加密区间和所述目标加密长度被设置的情况下,根据所述目标加密区间和所述目标加密长度,从所述目标加密列对应的加密数据中确定加密字符和未加密数据;
31、对所述加密字符进行解密,得到初始解密数据;
32、将所述初始解密数据和所述未加密数据进行组合,得到所述加密列对应每一单元格数据的解密数据。
33、作为一个可能的实现方式,所述对所述目标数据表中所述加密列对应的每一单元格数据进行加密,得到每一所述单元格数据对应的加密数据,包括:
34、确定所述加密列是否被设置对应的第一加密算法;
35、在确定所述加密列被设置对应的第一加密算法的情况下,根据所述第一加密算法生成第一密钥;利用所述第一密钥对所述目标数据表中所述加密列对应的每一单元格数据进行加密,得到每一所述单元格数据对应的加密数据;
36、在确定所述加密列未被设置对应的第一加密算法的情况下,根据预设的第二加密算法生成第二密钥;利用所述第二密钥对所述目标数据表中所述加密列对应的每一单元格数据进行加密,得到每一所述单元格数据对应的加密数据。
37、作为一个可能的实现方式,所述基于所述加密数据对所述目标数据进行存取,包括:
38、将所述加密列对应的每个所述单元格数据替换为对应的所述加密数据,得到第二目标数据表;
39、从预设的密钥文件中获取预设密钥,并确定所述加密数据对应的第一目标密钥和第一目标加密算法,所述第一目标密钥包括所述第一密钥或所述第二密钥,所述第一目标加密算法包括所述第一加密算法或所述第二加密算法;
40、利用所述预设密钥对所述第一目标密钥进行加密,得到密钥加密数据;
41、在对所述目标数据进行存储时,将所述密钥加密数据写入所述第二目标数据表的数据页表头中,并为所述第二目标数据表中所述加密列添加预设的加密标识;将所述第二目标数据表以及所述加密列的元数据存储至预设的数据库中,所述元数据包括所述加密列的字段标识和所述第一目标加密算法的算法标识;
42、在对所述目标数据进行读取时,读取所述目标数据的加密数据表和元数据;
43、根据所述元数据对所述加密数据表中的加密数据进行解密,得到解密数据表;
44、从所本文档来自技高网...
【技术保护点】
1.一种数据存取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述目标数据表中所述加密列对应的每一单元格数据进行加密,得到每一所述单元格数据对应的加密数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述加密区间和所述加密长度,对每一所述单元格数据进行加密,得到每一所述单元格数据对应的加密数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述加密数据对所述目标数据进行存取,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述元数据对所述加密数据表中的加密数据进行解密,得到解密数据表,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标加密区间和所述目标加密长度对所述目标加密列对应的加密数据进行解密,得到所述目标加密列对应每一单元格数据的解密数据,包括:
7.根据权利要求1所述的方法,其特征在于,所述对所述目标数据表中所述加密列对应的每一单元格数据进行加密,得到每一所述单元格数据对应的加密数据,包括:
8.根据权
9.根据权利要求8所述的方法,其特征在于,所述根据所述元数据对所述加密数据表中的加密数据进行解密,得到解密数据表,包括:
10.一种数据存取装置,其特征在于,所述装置包括:
...【技术特征摘要】
1.一种数据存取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述目标数据表中所述加密列对应的每一单元格数据进行加密,得到每一所述单元格数据对应的加密数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述加密区间和所述加密长度,对每一所述单元格数据进行加密,得到每一所述单元格数据对应的加密数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述加密数据对所述目标数据进行存取,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述元数据对所述加密数据表中的加密数据进行解密,得到解密数据表,包括:
6.根据...
【专利技术属性】
技术研发人员:李响,周诚,周亚运,
申请(专利权)人:金篆信科有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。