本发明涉及云存储技术领域,具体涉及一种数据加密方法及装置。
背景技术:
云计算数据中心是一种基于云计算架构的,计算、存储及网络资源松耦合,完全虚拟化各种IT设备、模块化程度较高、自动化程度较高、具备较高绿色节能程度的新型数据中心。
因为云计算数据中心存储了大量的数据,且云计算数据中心的用户访问量极大,为了保证存储的数据的安全,对数据的加密变得极为重要。在现有技术中,常用的加密手段有内容感知加密及保格式加密。但数据加密往往只能采用一种方法,算法单一,一旦算法被破解,所有数据都面临泄密的危险。
因此,如何克服云计算数据加密算法单一的缺点成为了本领域技术人员亟须解决的问题。
技术实现要素:
有鉴于此,本发明的目的在于提供一种数据加密方法,可选择不同的加密方式对待加密文件加密,克服云计算数据加密算法单一的缺点,提高了数据存储在云计算数据中心的安全性。
为实现上述目的,本发明提供如下技术方案:
一种数据加密方法,包括:
获取待加密文件;
为待加密文件配置加密方式;
基于加密方式从加密算法选择单元中调用加密算法;
基于加密算法对待加密文件加密得到加密文件;
存储加密文件。
优选地,加密方式包括对称密钥加密或非对称密钥加密。
优选地,还包括:
从待加密文件中提取位置数据;
将位置数据作为哈希函数的输入,得到位置哈希码,位置哈希码为加密文件的存储位置的唯一标识;
存储位置哈希码。
优选地,位置数据包括待加密文件的首位字符、末位字符及文件长度中任一一项或几项的组合。
优选地,还包括:
在数据读取时,调用位置哈希码;
基于位置哈希码调用加密文件;
基于加密算法从解密算法选择单元中调用解密算法;
基于解密算法对加密文件解密。
一种数据加密装置,包括:
接收单元,用于获取待加密文件;
密钥选择单元,用于为待加密文件配置加密方式;
调用单元,用于基于加密方式从加密算法选择单元中调用加密算法;
加密单元,用于基于加密算法对待加密文件加密得到加密文件;
存储单元,用于存储加密文件。
优选地,密钥选择单元配置的加密方式包括对称密钥加密或非对称密钥加密。
优选地,还包括提取单元及哈希码函数单元,其中:
提取单元用于从待加密文件中提取位置数据;
哈希码函数单元用于将位置数据作为哈希函数的输入,得到位置哈希码,位置哈希码为加密文件的存储位置的唯一标识;
存储单元还用于存储位置哈希码。
优选地,提取单元提取的位置数据包括待加密文件的首位字符、末位字符及文件长度中任一一项或几项的组合。
优选地,还包括解密单元,其中:
在数据读取时,调用单元还用调用位置哈希码;
调用单元还用于基于位置哈希码调用加密文件;
调用单元还用于基于加密算法从解密算法选择单元中调用解密算法;
解密单元用于基于解密算法对加密文件解密。
从上述技术方案可以看出,本发明提供一种数据加密方法,在获取待加密文件后,为待加密文件配置相应的加密方式,从而调用相应的加密算法对待加密文件进行加密。相比于现有的单一的加密方式,采用可选择的多种的加密方式,可提高数据存储在云计算数据中心的安全性。当一种加密方式被破解后,只会丢失部分文件,采用其他加密方式的文件依然可以得到保护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明公开的一种数据加密方法的实施例1的流程图;
图2为本发明公开的一种数据加密方法的实施例2的流程图;
图3为本发明公开的一种数据加密方法读取加密文件的步骤流程图;
图4为本发明公开的一种数据加密装置的实施例4的具体结构示意图;
图5为本发明公开的一种数据加密装置的实施例5的具体结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种数据加密方法的实施例1的流程图:
S101、获取待加密文件;
处理器的接收单元接收待加密文件,接收方式包括通过无线信号接收、通过线缆传输及通过存储设备(如U盘)接收待加密文件。
S102、为待加密文件配置加密方式;
接收单元将待加密文件发送至处理器的密钥选择单元,密钥选择单元为待加密文件选择加密方式,具体的选择方式可分为:(1)根据文件的格式选择不同的加密方式。(2)根据发送文件的用户的不同选择不同的加密方式。(3)根据接收文件的时间来选择不同的加密方式。(4)根据文件的大小选择不同的加密方式。由于不同的文件采用不同的加密方式,可以避免一种加密方式被破译后所有文件都被盗取。
S103、基于加密方式从加密算法选择单元中调用加密算法;
调用单元基于选择的加密方式从加密算法选择单元中调用与上述加密方式相对应的加密算法。加密算法选择单元中存储有各种不同的加密算法。
S104、用于基于加密算法对待加密文件加密得到加密文件;
加密单元利用调用的加密算法对待加密文件进行加密,得到加密文件。不同的待加密文件有不同的加密算法,提高了加密文件的安全性。
S105、存储加密文件;
将待加密文件加密为加密文件后,将加密文件存储到存储单元中。
综上所述,本发明提供的数据加密方法在获取待加密文件后,为待加密文件配置相应的加密方式,从而调用相应的加密算法对待加密文件进行加密。相比于现有的单一的加密方式,采用可选择的多种的加密方式,可提高数据存储在云计算数据中心的安全性。当一种加密方式被破解后,只会丢失部分文件,采用其他加密方式的文件依然可以得到保护。
如图2所示,为本发明公开的一种数据加密方法的实施例2的流程图:
S201、获取待加密文件;
处理器的接收单元接收待加密文件,接收方式包括通过无线信号接收、通过线缆传输及通过存储设备(如U盘)接收待加密文件。
S202、从待加密文件中提取位置数据;
处理器中的提取单元提取位置数据,此处提到的位置数据是待加密文件中经过处理后可以与其他文件进行区分的信息。在本发明中,位置数据可以包括待加密文件的首位字符、末位字符及文件长度中任一一项或几项的组合。
S203、将位置数据作为哈希函数的输入,得到位置哈希码,位置哈希码为加密文件的存储位置的唯一标识;
哈希就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。所有哈希函数都有如下一个基本特性:如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的。这个特性是哈希函数具有确定性的结果。因此,因为不同文件提取到的位置数据是不相同的,将位置数据经过哈希码函数单元处理后得到的位置哈希码也是不同的,可以作为加密文件的存储位置的唯一标识。位置哈希码作为加密文件存储位置的唯一标识,可以直接指向存储单元中的一个存储位置,这个位置即为加密文件的存储位置。
S204、存储位置哈希码;
存储单元存储位置哈希码。
S205、为待加密文件配置加密方式;
接收单元将待加密文件发送至处理器的密钥选择单元,密钥选择单元为待加密文件选择加密方式,具体的选择方式可分为:(1)根据文件的格式选择不同的加密方式。(2)根据发送文件的用户的不同选择不同的加密方式。(3)根据接收文件的时间来选择不同的加密方式。(4)根据文件的大小选择不同的加密方式。由于不同的文件采用不同的加密方式,可以避免一种加密方式被破译后所有文件都被盗取。
S206、基于加密方式从加密算法选择单元中调用加密算法;
调用单元基于选择的加密方式从加密算法选择单元中调用与上述加密方式相对应的加密算法。加密算法选择单元中存储有各种不同的加密算法。
S207、用于基于加密算法对待加密文件加密得到加密文件;
加密单元利用调用的加密算法对待加密文件进行加密,得到加密文件。不同的待加密文件有不同的加密算法,提高了加密文件的安全性。
S208、存储加密文件;
将待加密文件加密为加密文件后,将加密文件存储到位置哈希码指向的存储单元中的存储位置。
综上所述,本发明提供的数据加密方法在获取待加密文件后,为待加密文件配置相应的加密方式,从而调用相应的加密算法对待加密文件进行加密。相比于现有的单一的加密方式,采用可选择的多种的加密方式,可提高数据存储在云计算数据中心的安全性。当一种加密方式被破解后,只会丢失部分文件,采用其他加密方式的文件依然可以得到保护。通过位置哈希码标识加密文件的存储位置,提高了加密文件存储的位置精度。
如图3所示,为了进一步优化上述方案,本方法还包括用于读取加密文件的以下步骤:
S301、在数据读取时,调用位置哈希码;
因为位置哈希码为加密文件的唯一标识,因此在明确需要读取的加密文件时,调用单元即可从存储单元中调用该加密文件的位置哈希码。
S302、基于位置哈希码调用加密文件;
在实施例2中提到,加密文件时存储在位置哈希码指向的存储位置,因此,在得到位置哈希码后,调用单元即可从存储单元中调用加密文件。
S303、基于加密算法从解密算法选择单元中调用解密算法;
因为不同的加密文件使用的加密算法是不同的,所以,为了解密加密文件,调用单元还需要从解密算法选择单元中调用与该加密文件的加密方式相对应的解密算法。在存储加密文件时,可将其加密方式一起存储在存储单元中,在调用加密文件时一起从存储单元中调用。
S304、基于解密算法对加密文件解密;
解密单元利用调用的解密算法对加密文件进行解密。
通过位置哈希码标识加密文件的存储位置,提高了加密文件存储的位置精度,便于在读取文件时对加密文件的调用。
如图4所示,为本发明公开的一种数据加密装置的实施例4的具体结构示意图:
本数据加密装置包括接收单元、密钥选择单元、调用单元、加密单元及存储单元,其中:
接收单元用于获取待加密文件;密钥选择单元用于为待加密文件配置加密方式;调用单元用于基于加密方式从加密算法选择单元中调用加密算法;加密单元用于基于加密算法对待加密文件加密得到加密文件;存储单元用于存储加密文件。
本实施例中数据加密装置的工作原理与实施例1相同,在此不再赘述。
如图5所示,为本发明公开的一种数据加密装置的实施例5的具体结构示意图:
本数据加密装置包括接收单元、密钥选择单元、调用单元、加密单元、存储单元、提取单元及哈希码函数单元,其中:
接收单元用于获取待加密文件;提取单元用于从待加密文件中提取位置数据;哈希码函数单元用于将位置数据作为哈希函数的输入,得到位置哈希码,位置哈希码为加密文件的存储位置的唯一标识;存储单元还用于存储位置哈希码。密钥选择单元用于为待加密文件配置加密方式,密钥选择单元配置的加密方式包括对称密钥加密或非对称密钥加密;调用单元用于基于加密方式从加密算法选择单元中调用加密算法;加密单元用于基于加密算法对待加密文件加密得到加密文件;存储单元用于存储加密文件。
为进一步优化本方案,提取单元提取的位置数据包括待加密文件的首位字符、末位字符及文件长度中任一一项或几项的组合。
为进一步优化本方案,本数据加密装置还包括解密单元,其中:
在数据读取时,调用单元还用调用位置哈希码;调用单元还用于基于位置哈希码调用加密文件;调用单元还用于基于加密算法从解密算法选择单元中调用解密算法;解密单元用于基于解密算法对加密文件解密。
本实施例中数据加密装置的工作原理与实施例2和步骤S301至S304相同,在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。