发明内容
本发明提供一种数据隐藏存储的方法及系统以解决上述问题。
本发明提供一种数据隐藏存储的方法,包括以下步骤。客户端根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至控制器。所述控制器获取存储器剩余存储空间大小及簇个数。若存储器剩余存储空间大小大于或等于所述加密文件大小,则所述控制器根据第二策略,获得文件分配表并将所述加密文件及所述文件分配表发送至文件分配器。所述文件分配器根据接收的所述文件分配表及所述加密文件,将所述加密文件存储至存储器剩余存储空间中的簇中。
本发明提供一种数据隐藏存储的系统,包括客户端、控制器、文件分配器及存储器,所述客户端连接控制器,所述控制器分别连接文件分配器及存储器,所述文件分配器连接存储器。所述客户端,用于根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至控制器。所述控制器,用于获取存储器剩余存储空间大小及簇个数,还用于若存储器剩余存储空间大小大于或等于所述加密文件大小,根据第二策略,获得文件分配表并将所述加密文件及所述文件分配表发送至文件分配器。所述文件分配器,用于根据接收的所述文件分配表及所述加密文件,将所述加密文件存储至存储器剩余存储空间中的簇中。所述存储器,用于向所述控制器提供剩余存储空间大小及簇个数;还用于存储加密文件。
相较于先前技术,根据本发明提供的数据隐藏存储的方法及系统,客户端根据第一策略,将待存储文件生成加密文件并将加密文件发送至控制器。控制器获取存储器剩余存储空间大小及簇个数。若存储器剩余存储空间大小大于或等于加密文件大小,则控制器根据第二策略, 获得文件分配表并将加密文件及文件分配表发送至文件分配器。文件分配器根据接收的文件分配表及加密文件,将加密文件存储至存储器剩余存储空间中的簇中,从而实现了数据安全性。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的数据隐藏存储的方法的流程图。如图1所示,本发明的较佳实施例提供的数据隐藏存储的方法包括步骤101~104。
步骤101:客户端根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至控制器。
具体而言,客户端根据第一策略,将待存储文件生成加密文件的过程为:客户端根据预设分割块数,通过分块算法,对所述待存储文件进行分块后,进行组合;在组合后的文件块的首尾加上校验码(定义为:第一数据);利用MD5算法计算第一数据的文件签名(定义为:第二数据);组合主第一数据、备第一数据及第二数据,获得加密文件。其中,客户端根据预设分割块数,通过分块算法,对所述待存储文件进行分块的方式为:取【v/i】余数,对所述待存储文件进行分块,其中,v代表待存储文件中的数据位序,i为预设分割块数。
举例而言,若客户端的待存储文件为“一种文件隐形加密存储的方法和系统”,预设分割块数为3,所述3个分割数据块分别为余数为0的文件块1、余数为1的文件块2及余数为2的文件块3。客户端取【v/i】余数,例如:“一”在待存储文件中的数据位序为1,则取【1/3】的余数为1,则将“一”放入余数为1的文件块2;“种”在待存储文件中的数据位序为2,则取【2/3】的余数为2,则将“种”放入余数为2的文件块3;“文”在待存储文件中的数据位序为3,则取【3/3】的余数为0,则将“文”放入余数为0的文件块1,以此类推,获得以下文件块:
[0016]
余数为1的文件块2 |
一件加储法统 |
余数为2的文件块3 |
种隐密的和 |
组合上述三个文件块得到如下文件块:文形存方系一件加储法统种隐密的和。在所述组合后的文件块的首尾加上校验码,定义为第一数据:BEGIN文形存方系一件加储法统种隐密的和END。利用MD5算法计算第一数据的文件签名,并定义为第二数据,如下所示:57219DFEB567EE470DDA2824F0270A5E。组合主第一数据、备第一数据及第二数据,获得加密文件为:BEGIN文形存方系一件加储法统种隐密的和END BEGIN文形存方系一件加储法统种隐密的和END57219DFEB567EE470DDA2824F0270A5E。
步骤102:所述控制器获取存储器剩余存储空间大小及簇个数。
具体而言,所述控制器接收客户端发送的加密文件后,向存储器发送查询请求;所述存储器向所述控制器反馈查询响应,其中,所述查询响应中携带了存储器剩余存储空间大小及簇个数。于此,所述存储器根据预设的单个簇的存储空间大小及剩余存储空间大小,获得簇的个数。计算公式为,簇的个数=存储器剩余存储空间大小/单个簇的存储空间大小。
举例而言,若单个簇的存储空间大小为4K,存储器剩余存储空间大小4M,则簇的个数=4M/4K=1024。
步骤103:若存储器剩余存储空间大小大于或等于所述加密文件大小,则所述控制器根据第二策略,获得文件分配表并将所述加密文件及所述文件分配表发送至文件分配器。
具体而言,控制器比较所述存储器剩余存储空间大小与加密文件大小,若存储器剩余存储空间大小小于所述加密文件大小,所述控制器向所述客户端返回错误提示。
当控制器比较存储器剩余存储空间大小大于或等于所述加密文件大小时,控制器根据第二策略,获得文件分配表的过程为:所述控制器根据
获得文件分配表,其中,x≥1且x为正整数;y=ax
2+bx+c(a<0),x代表第几个簇,y代表x对应的值。
举例而言,假设加密文件大小为2M,存储器的剩余存储空间大小为4M,若单个簇的存储空间大小为4K,则存储器的剩余存储空间有1024个簇。函数y=ax
2+bx+c(a<0)的抛物线与x轴的交集的面积即为加密文件大小,即2M。于此,所述抛物线与x轴的交点坐标为(0,0)及(1024,0),由此可得所述抛物线表达式为y=a(x-0)(x-1024),即y=ax
2-1024ax。
于本实施例中,即
计算获得a=-3/512
2,则所述函数式y=-3/512
2x
2+3/256x。抛物 线如图2所示。
于本实施例中,
则第1个簇上待存储的加密文件大小为
第2个簇上待存储的加密文件大小为
依次类推,第1024个簇上待存储的加密文件大小为
获得文件分配表如下:
簇的序号 |
待存储的加密文件大小 |
1 |
0.00585556 KB |
2 |
0.017551422 KB |
··· |
··· |
512 |
2.999996185 KB |
··· |
··· |
1024 |
0.00585556 KB |
步骤104:所述文件分配器根据接收的所述文件分配表及所述加密文件,将所述加密文件存储至存储器剩余存储空间中的簇中。
具体而言,所述文件分配器根据接收的所述文件分配表及所述加密文件,将所述加密文件存储至存储器剩余存储空间中的簇中的过程为:所述文件分配器查询文件分配表中各个簇对应的待存储的加密文件大小,获取对应大小的加密文件依次存储到所述存储器的对应簇中。
图3所示为根据本发明的较佳实施例提供的数据隐藏存储的系统的示意图。如图3所示,本发明的较佳实施例提供的数据隐藏存储的系统包括客户端201、控制器202、文件分配器203及存储器204,所述客户端201连接控制器202,所述控制器202分别连接文件分配器203及存储器204,所述文件分配器203连接存储器204。所述客户端201,用于根据第一策略,将待存储文件生成加密文件并将所述加密文件发送至控制器202。所述控制器202,用于获取存储器204剩余存储空间大小及簇个数,还用于若存储器204剩余存储空间大小大于或等于所述加密文件大小,根据第二策略,获得文件分配表并将所述加密文件及所述文件分配表发送至文件分配器203。所述文件分配器203,用于根据接收的所述文件分配表及所述加密文件,将所述加密文件存储至存储器204剩余存储空间中的簇中。所述存储器204,用于向所述控制器202提供剩余存储空间大小及簇个数,还用于存储加密文件。关于上述系统的操作流程同上述方法所述,故于此不再赘述。
综上所述,根据本发明较佳实施例提供的数据隐藏存储的方法及系统,客户端根据第一策略,将待存储文件生成加密文件并将加密文件发送至控制器。控制器获取存储器剩余存储空间大小及簇个数。若存储器剩余存储空间大小大于或等于加密文件大小,则控制器根据第二策略,获得文件分配表并将加密文件及文件分配表发送至文件分配器。文件分配器根据接收的文件分配表及加密文件,将加密文件存储至存储器剩余存储空间中的簇中,从而实现了数据安全性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。