本公開涉及數據處理,尤其涉及一種數據加密、解密的方法及裝置、電子設備和存儲介質。
背景技術:
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、加密模塊,用于基于所述密鑰文件,對所述數據子文件進行加密處理;
45、計算模塊,用于計算加密后的所述數據子文件的哈希值,并將哈希值進行組合;
46、第一儲存模塊,用于將組合后的所述哈希值存儲至所述預設結構文件中;
47、第二生成模塊,用于根據所述數據子文件的索引、文件名、哈希值,并生成所述項目內容。
48、可選的,所述儲存單元包括:
49、分類模塊,用于將加密后的所述數據子文件按照所述項目內容進行分類處理;
50、第二儲存模塊,用于根據分類處理的結果,將加密后的所述數據子文件分類儲存至所述預設結構文件,其中,所述預設結構文件儲存于所述第二儲存目錄中。
51、根據本公開的第四方面,提供了一種數據解密的裝置,包括:
52、確定單元,用于確定需要進行解密處理的數據子文件;
53、第一獲取單元,用于獲取加密項目引用的密鑰文件,其中,所述加密項目根據至少一個所述數據子文件進行加密處理生成;
54、第二獲取單元,用于獲取所述數據子文件對應的項目內容,其中,所述項目內容包括索引、文件名、哈希值;
55、解密單元,用于基于所述密鑰文件及所述項目內容,對所述數據子文件進行解密處理。
56、可選的,所述第一獲取單元包括:
57、第二確定模塊,用于基于所述加密項目,確定所述密鑰文件引用的第一儲存目錄;
58、獲取模塊,用于獲取所述第一儲存目錄中存儲的所述密鑰文件。
59、可選的,所述解密單元包括:
60、第三確定模塊,用于基于所述項目內容,確定加密后的所述數據子文件的儲存位置;
61、解密模塊,用于獲取加密后的所述數據子文件,并根據所述密鑰文件對加密后的所述數據子文件進行解密處理。
62、根據本公開的第五方面,提供了一種電子設備,包括:
63、至少一個處理器;以及
64、與所述至少一個處理器通信連接的存儲器;其中,
65、所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠執行前述第一方面和/或第二方面所述的方法。
66、根據本公開的第六方面,提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其中,所述計算機指令用于使所述計算機執行前述第一方面和/或第二方面所述的方法。
67、根據本公開的第七方面,提供了一種計算機程序產品,包括計算機程序,所述計算機程序在被處理器執行時實現如前述第一方面和/或第二方面所述的方法。
68、本公開提供了一種數據加密、解密的方法及裝置、電子設備和存儲介質,對數據文件進行解析生成密鑰文件,其中,所述數據文件包括至少一個數據子文件;創建所述數據文件對應的加密項目;基于所述密鑰文件對所述數據子文件進行并行加密處理,并生成所述數據子文件對應的項目內容,其中,所述項目內容包括索引、文件名、哈希值;將加密后的所述數據子文件儲存至預設結構文件中,其中,所述預設結構文件為所述加密項目的子目錄。與相關技術相比,本公開實施例通過增量加密處理的方式,可以同時對多個數據子文件進行加密處理;同時,生成的項目內容也可以方便解密過程中靈活的解密單個或多個數據子文件。進而實現了精簡加密與解密的過程,減少計算資源的使用。
69、應當理解,本部分所描述的內容并非旨在標識本技術的實施例的關鍵或重要特征,也不用于限制本技術的范圍。本技術的其它特征將通過以下的說明書而變得容易理解。