本发明涉及数据安全,尤其涉及一种excel数据加密方法。
背景技术:
1、excel文件可能包含个人身份信息、财务数据、商业机密等敏感信息。对excel文件数据进行加密是为了保护其中包含的敏感信息不被未经授权的人员访问或泄露,保证数据的安全性。
2、中国专利公开号:cn114580001a,公开了一种用于excel文件的加密解密算法及文件保护方法,对于文本进行utf-8编码解码,使用原创加密解密算法,根据具体应用场景,原创应用想法,设计功能完善的界面,方便操作,整个过程速度快,具有实用性。原创应用想法,对于excel文件操作有系统的流程,每个用户即编号会分配一个私有密钥,密钥设置无规律难以破解,管理员和用户可通过至少八位的密码来生成密钥。加密有两种形式,第一种是对整个excel文件进行加密,第二种是将个人信息加密后上传到excel表格中,其中对utf-8编码代码进行了改进。解密有两种形式,分别为整个excel文件信息解密和私人信息解密。
3、但是,现有技术中还存在以下问题,
4、现有技术中,将excel文件数据信息进行加密时,未针对excel文件中数据的关键性采用不同的加密方式,从而可能存在excel文件数据的加密安全性欠佳的问题。
技术实现思路
1、为此,本发明提供一种excel数据加密方法,用以克服现有技术中,将excel文件数据信息进行加密时,未针对excel文件中数据的关键性采用不同的加密方式,从而可能存在excel文件数据的加密安全性欠佳的问题。
2、为实现上述目的,本发明提供一种excel数据加密方法,包括:
3、步骤s1,获取待发送的excel文件,根据所述excel文件中公式与单元格的引用关系划分各单元格的类别,包括,引用关系类单元格以及孤立类单元格;
4、步骤s2,针对特征被引用单元格执行加密替换,包括,
5、选取任一伪装数据替换所述特征被引用单元格中的真实数据;
6、其中,特征被引用单元格由引用关系类单元格中所筛选出,所述伪装数据基于所述真实数据的字符长度所生成;
7、步骤s3,任选若干孤立类单元格对,获取孤立类单元格对的位置坐标对,将孤立单元格对包含的真实内容进行位置交换;
8、步骤s4,添加新工作簿,将剩余伪装数据以及真实数据随机存储于新工作簿,确定伪装记录,包括,特征被引用单元格的位置坐标、真实数据在新工作簿中的位置坐标以及交换真实内容的孤立单元格对的位置坐标对;
9、步骤s5,依据特征被引用单元格的数量选定加密算法,依据所述加密算法对所述伪装记录进行加密,得到加密密文,将所述加密密文存储至所述新工作簿的密文存储格内,并将所述excel文件发送至接收端;
10、步骤s6,所述接收端依据所述excel文件中特征被引用单元格的数量选定解密算法,提取密文存储格内的加密密文解密得到伪装记录,依据所述伪装记录交换孤立类单元格对中的真实内容以及提取新工作簿中对应单元格中的真实数据替换特征被引用单元格中的伪装数据。
11、进一步地,所述步骤s1中,若满足第一预设条件,则单元格类别为引用关系类单元格;若不满足第一预设条件,则单元格类别为孤立类单元格,第一预设条件为单元格中存在公式或单元格为公式引用的单元格。
12、进一步地,所述步骤s2中,识别特征被引用单元格的过程包括,
13、确定引用关系类单元格中的被引用单元格;
14、将被引用单元格的被引用次数与预设被引用次数对比阈值进行对比,若所述被引用单元格的被引用次数大于预设被引用次数对比阈值,则将所述被引用单元格识别为特征被引用单元格。
15、进一步地,所述步骤s2中,根据特征被引用单元格中真实数据的字符长度生成若干伪装数据,其中,伪装数据的字符长度与真实数据的字符长度相同。
16、进一步地,所述步骤s3中,任选若干孤立类单元格对的过程包括,选取单元格中文本字符长度相同的单元格作为孤立单元格对,或,选取单元格中数字字符长度相同的单元格作为孤立单元格对,其中,单个孤立单元格对包含两个单元格。
17、进一步地,所述步骤s3中,根据孤立类单元格数量选取孤立类单元格对数量,其中,孤立类单元格数量与孤立类单元格对数量呈正相关关系。
18、进一步地,所述步骤s5中,依据特征被引用单元格的数量选定加密算法,
19、将所述数量逐个与若干数量区间匹配,若所述数量属于任一所述数量区间,则选定与所述数量区间关联的加密算法;
20、其中,预先设定有若干加密算法,各所述加密算法关联有唯一的数量区间,且各所述数量区间均不相同。
21、进一步地,所述步骤s6中,所述接收端依据所述excel文件中特征被引用单元格的数量选定解密算法,
22、将所述数量逐个与若干数量区间匹配,若所述数量属于任一所述数量区间,则选定与所述数量区间关联的解密算法;
23、其中,预先设定有若干解密算法,各所述解密算法关联有唯一的数量区间,且各所述数量区间均不相同。
24、进一步地,所述步骤s6中,提取新工作簿中对应单元格中的真实数据替换特征被引用单元格中的伪装数据的过程包括,
25、确定真实数据在新工作簿中的位置坐标;
26、确定所需替换的伪装数据的特征被引用单元格的位置坐标;
27、将真实数据替换伪装数据。
28、进一步地,所述步骤s6中,依据所述伪装记录交换孤立类单元格对中的真实内容的过程包括,
29、确定交换真实内容的孤立单元格对的位置坐标对;
30、将位置坐标对中包含的内容进行位置交换。
31、与现有技术相比,本发明获取待发送的excel文件,划分各单元格的类别,筛选出被引用单元格以及引用单元格,识别特征被引用单元格,生成若干伪装数据,替换特征被引用单元格中的真实数据,任选若干孤立类单元格对,将孤立单元格对包含的真实内容进行位置交换,添加新工作簿,将剩余伪装数据以及真实数据随机存储于新工作簿,确定伪装记录,选定加密算法,对伪装记录进行加密,得到加密密文,存储至新工作簿的密文存储格内,发送至接收端,接收端选定解密算法,提取密文存储格内的加密密文解密得到伪装记录,本发明采用不同的方式对单元格进行加密,增加excel文件中内容解读的难度,提高excel文件数据的安全性。
32、尤其,本发明根据excel文件中公式与单元格的引用关系划分各单元格的类别,由于excel文件中的公式是通过引用其他单元格的数值或公式来计算结果的,包含有公式的单元格中的数据内容会受到公式中引用的单元格中的数据的影响,因此,如果被引用的单元格出现问题,则可能会导致引用该单元格的其他单元格也受到影响,而不存在引用关系的单元格其数值不会对其他单元格的数据造成影响,不存在引用关系的单元格中包含的内容可能由于存在逻辑关系从而对excel文件的内容解读的困难性,从而应采用不同的方式对单元格进行加密,从而使excel文件数据安全性更高。
33、尤其,本发明依据被引用单元格的被引用次数识别特征被引用单元格,由于被引用次数可以一定程度上表征该单元格的重要程度,被引用次数越多,该单元格的重要程度也相应较大,从而更需对该单元格进行加密处理,防止该单元格数据泄露,从而提高excel文件数据的安全性。
34、尤其,本发明任选若干孤立类单元格对,获取孤立类单元格对的位置坐标对,将孤立单元格对包含的真实内容进行位置交换,通过将真实内容进行位置交换,可以将原本可能存在逻辑关系的真实内容混淆起来,使得excel文件中的逻辑结构变得不明显。增加excel文件中内容解读的难度,从而提高excel文件数据的安全性。
35、尤其,本发明依据特征被引用单元格的数量选定加密算法,不同的数据量对应的excel文件的安全性要求程度可能存在差异,不同数据量具有不同的敏感性级别。对于大型数据集,安全性要求更高,并且,依据特征被引用单元格的数量选定加密算法使得每个excel文件的加密算法不断的切换,且切换方式不可预测,进而提高excel文件数据的安全性,减少被破解或攻击的风险。