本發明涉及云存儲技術領域,具體涉及一種數據加密方法及裝置。
背景技術:
云計算數據中心是一種基于云計算架構的,計算、存儲及網絡資源松耦合,完全虛擬化各種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相同,在此不再贅述。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。