本發(fā)明實(shí)施例密鑰產(chǎn)生及應(yīng)用領(lǐng)域,尤其涉及一種生成密鑰的方法及宿主設(shè)備。
背景技術(shù):
目前,網(wǎng)絡(luò)安全和個(gè)人隱私安全已經(jīng)影響到了我們生活的方方面面,個(gè)人信息被盜取、銀行卡被盜刷的現(xiàn)象經(jīng)常出現(xiàn)。加密技術(shù)作為提高網(wǎng)絡(luò)信息安全的關(guān)鍵技術(shù)手段,對(duì)保證通信和數(shù)據(jù)安全發(fā)揮了重要的作用?,F(xiàn)有的加密技術(shù)主要采用的方法是通過公私密鑰相配合對(duì)傳輸文件進(jìn)行加密和解密,從而實(shí)現(xiàn)文件的安全傳輸。該方法的具體過程為:在計(jì)算機(jī)上運(yùn)行程序產(chǎn)生密鑰,然后將生成的密鑰保存在計(jì)算機(jī)的硬盤中,用戶在需要對(duì)文件進(jìn)行加密或解密時(shí)從硬盤中獲取密鑰。由于密鑰以一個(gè)文件的形式存儲(chǔ)在計(jì)算機(jī)硬盤中,故每個(gè)使用該計(jì)算機(jī)的用戶都可以獲取計(jì)算機(jī)硬盤上的密鑰,從而導(dǎo)致密鑰的安全性低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種生成密鑰的方法及宿主設(shè)備,用以解決現(xiàn)有技術(shù)中存在的產(chǎn)生的密鑰直接存儲(chǔ)在本地靜態(tài)存儲(chǔ)區(qū)中導(dǎo)致密鑰安全性低的問題。
本發(fā)明實(shí)施例提供了一種生成密鑰的方法,包括:
宿主設(shè)備接收密鑰生成指令;
宿主設(shè)備根據(jù)指令生成密鑰,并將密鑰暫存在宿主設(shè)備中的動(dòng)態(tài)存儲(chǔ)區(qū)中;
宿主設(shè)備在使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密后,清除動(dòng)態(tài)存儲(chǔ)區(qū)中的密鑰。
可選地,宿主設(shè)備根據(jù)指令生成密鑰,包括:
宿主設(shè)備獲取用戶輸入的口令;
宿主設(shè)備獲取自身硬件信息;
宿主設(shè)備根據(jù)用戶輸入的口令和自身硬件信息生成密鑰。
可選地,還包括:
宿主設(shè)備獲取宿主設(shè)備的外接硬件設(shè)備的硬件信息;
宿主設(shè)備根據(jù)用戶輸入的口令、自身硬件信息和外接硬件設(shè)備的硬件信息生成密鑰。
可選地,宿主設(shè)備根據(jù)用戶輸入的口令、自身硬件信息和外接硬件設(shè)備的硬件信息生成密鑰,包括:
宿主設(shè)備獲取自身多個(gè)硬件的硬件信息,并將多個(gè)硬件的硬件信息進(jìn)行拼接確定第一拼接信息;
宿主設(shè)備獲取外接硬件設(shè)備上多個(gè)硬件的硬件信息,并將外接硬件設(shè)備上多個(gè)硬件的硬件信息進(jìn)行拼接確定第二拼接信息;
宿主設(shè)備將用戶輸入的口令、第一拼接信息和第二拼接信息進(jìn)行拼接,確定第三拼接信息,根據(jù)第三拼接信息生成密鑰。
可選地,宿主設(shè)備使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密,包括:
宿主設(shè)備接收加密或解密指令;
宿主設(shè)備獲取加密或解密指令對(duì)應(yīng)的目標(biāo)文件;
宿主設(shè)備從動(dòng)態(tài)存儲(chǔ)區(qū)獲取生成的密鑰,并根據(jù)生成的密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密。
相應(yīng)地,本發(fā)明實(shí)施例還提供了一種生成密鑰的宿主設(shè)備,包括:
接收模塊,用于接收密鑰生成指令;
密鑰生成模塊,用于根據(jù)指令生成密鑰,并將密鑰暫存在宿主設(shè)備中的動(dòng)態(tài)存儲(chǔ)區(qū)中;
處理模塊,用于在使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密后,清除動(dòng)態(tài)存儲(chǔ)區(qū)中的所述密鑰。
可選地,密鑰生成模塊具體用于:
獲取用戶輸入的口令;
獲取自身硬件信息;
根據(jù)用戶輸入的口令和自身硬件信息生成密鑰。
可選地,密鑰生成模塊還用于:
獲取宿主設(shè)備的外接硬件設(shè)備的硬件信息;
根據(jù)用戶輸入的口令、自身硬件信息和外接硬件設(shè)備的硬件信息生成密鑰。
可選地,密鑰生成模塊具體用于:
獲取自身多個(gè)硬件的硬件信息,并將多個(gè)硬件的硬件信息進(jìn)行拼接并確定為第一拼接信息;
獲取外接硬件設(shè)備上多個(gè)硬件的硬件信息,并將外接硬件設(shè)備上多個(gè)硬件的硬件信息進(jìn)行拼接確定第二拼接信息;
將用戶輸入的口令、第一拼接信息和第二拼接信息進(jìn)行拼接,確定為第三拼接信息,根據(jù)第三拼接信息生成密鑰。
可選地,處理模塊具體用于:
接收加密或解密指令;
獲取加密或解密指令對(duì)應(yīng)的目標(biāo)文件;
從動(dòng)態(tài)存儲(chǔ)區(qū)獲取生成的密鑰,并根據(jù)生成的密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密。
本發(fā)明實(shí)施例提供一種生成密鑰的方法及宿主設(shè)備,宿主設(shè)備接收密鑰生成指令,然后根據(jù)指令生成密鑰,并將密鑰暫存在宿主設(shè)備中的動(dòng)態(tài)存儲(chǔ)區(qū)中,宿主設(shè)備在使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密后,清除動(dòng)態(tài)存儲(chǔ)區(qū)中的密鑰。本發(fā)明實(shí)施中由于宿主設(shè)備在用戶需要加密或解密目標(biāo)文件時(shí)實(shí)時(shí)生成密鑰,并且將密鑰暫存在宿主設(shè)備的動(dòng)態(tài)存儲(chǔ)區(qū)中,密鑰使用后清除密鑰,故當(dāng)前時(shí)刻產(chǎn)生的密鑰馬上使用,不需要將生成的密鑰保存在本地靜態(tài)存儲(chǔ)區(qū)中,避免了其他人從本地靜態(tài)存儲(chǔ)區(qū)中獲取生成的密鑰,從而保障了密鑰的安全。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種生成密鑰的方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種密鑰生成過程的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的另一種生成密鑰的方法的流程示意圖;
圖4為本發(fā)明實(shí)施例提供的一種生成密鑰的宿主設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實(shí)施例中的宿主設(shè)備可以是任意能運(yùn)行密鑰生成程序的硬件設(shè)備,比如計(jì)算機(jī)、服務(wù)器、密鑰生成器等。
本發(fā)明實(shí)施例中生成的密鑰可以是對(duì)稱密鑰,也可以是非對(duì)稱密鑰。使用對(duì)稱密鑰加密時(shí),信息發(fā)送方和接收方使用同一個(gè)密鑰加密和解密數(shù)據(jù)。使用非對(duì)稱密鑰加密時(shí),信息發(fā)送方和接方使用不同的密鑰分別完成加密和解密操作。非對(duì)稱密鑰中一個(gè)公開發(fā)布,即公鑰,另一個(gè)由用戶自己秘密保存,即私鑰。信息發(fā)送者使用公鑰加密時(shí),信息接收者則用私鑰去解密。信息發(fā)送者用私鑰加密時(shí),信息接收者則用公鑰去解密。
圖1例性示出了本發(fā)明實(shí)施例提供的一種生成密鑰的方法的流程,該流程可以由生成密鑰的宿主設(shè)備執(zhí)行。
如圖1所示,該流程的具體步驟包括:
步驟S101,宿主設(shè)備接收密鑰生成指令。
步驟S102,宿主設(shè)備根據(jù)指令生成密鑰,并將密鑰暫存在宿主設(shè)備中的動(dòng)態(tài)存儲(chǔ)區(qū)中。
步驟S103,宿主設(shè)備在使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密后,清除動(dòng)態(tài)存儲(chǔ)區(qū)中的密鑰。
具體實(shí)施中,用戶在需要加密或解密目標(biāo)文件時(shí),啟動(dòng)宿主設(shè)備上密鑰生成程序,密鑰生成程序根據(jù)接收的指令生成密鑰,密鑰生成后會(huì)自動(dòng)保存在動(dòng)態(tài)存儲(chǔ)區(qū)中,本發(fā)明實(shí)施例中動(dòng)態(tài)存儲(chǔ)區(qū)可以是運(yùn)行內(nèi)存,即密鑰生成程序運(yùn)行過程中宿主設(shè)備分配的臨時(shí)存儲(chǔ)區(qū)。密鑰生成程序在運(yùn)行過程中,動(dòng)態(tài)存儲(chǔ)區(qū)會(huì)一直保存密鑰生成程序生成的密鑰。宿主設(shè)備可從動(dòng)態(tài)存儲(chǔ)區(qū)中獲取密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密。加密后若關(guān)閉密鑰生成程序,則動(dòng)態(tài)存儲(chǔ)區(qū)中暫存的密鑰會(huì)被清除,但是宿主設(shè)備對(duì)目標(biāo)文件進(jìn)行加密或解密后沒有關(guān)閉密鑰生成程序,則密鑰會(huì)繼續(xù)保存在動(dòng)態(tài)存儲(chǔ)區(qū)中。由于宿主設(shè)備在用戶需要加密或解密目標(biāo)文件時(shí)實(shí)時(shí)生成密鑰,并且在密鑰使用后清除密鑰,故生成的密鑰不需要保存在本地靜態(tài)存儲(chǔ)區(qū)中,避免了其他人從本地靜態(tài)存儲(chǔ)區(qū)中獲取生成的密鑰,從而保障了密鑰的安全。
進(jìn)一步地,為了清楚介紹密鑰的生成過程,本發(fā)明實(shí)施例提供了一種密鑰生成過程的示例,如圖2所示,包括以下步驟:
步驟S201,宿主設(shè)備獲取用戶輸入的口令。
步驟S202,宿主設(shè)備獲取自身多個(gè)硬件的硬件信息和外接硬件設(shè)備上多個(gè)硬件的硬件信息。
步驟S203,宿主設(shè)備將自身多個(gè)硬件的硬件信息進(jìn)行拼接確定第一拼接信息。
步驟S204,宿主設(shè)備將外接硬件設(shè)備上多個(gè)硬件的硬件信息進(jìn)行拼接確定第二拼接信息。
步驟S205,宿主設(shè)備將用戶輸入的口令、第一拼接信息和第二拼接信息進(jìn)行拼接確定第三拼接信息。
步驟S206,根據(jù)第三拼接信息生成密鑰。
具體實(shí)施中,在步驟S201中,宿主設(shè)備上的密鑰生成程序運(yùn)行后,提示用戶輸入口令。口令由用戶自己確定并輸入,口令可以由數(shù)字、字母等組成,口令的位數(shù)可以根據(jù)具體情況由密鑰生成算法來確定。比如設(shè)定口令由四位數(shù)字組成,那么口令的形式可以是Passwd=1234,其中Passwd為口令。若設(shè)定口令由四個(gè)字母組成,那么口令的形式可以是Passwd=ABCD,其中Passwd為口令,口令也可以是數(shù)字和字母混合組成,此處不再舉例。宿主設(shè)備獲取用戶輸入的口令不同時(shí),生成的密鑰也不同。
獲取用戶輸入的口令之后,在步驟S202和步驟S203中,宿主設(shè)備獲取自身多個(gè)硬件的硬件信息,其中獲取硬件信息的硬件對(duì)象可以是中央處理器(Central Processing Unit,簡稱CPU)、內(nèi)存、主板、外設(shè)部件互連標(biāo)準(zhǔn)(Peripheral Component Interconnect,簡稱PCI)、網(wǎng)卡、通用串行總線(Universal Serial Bus,簡稱USB)接口、串口硬盤(Serial ATA,簡稱sata)接口等。宿主設(shè)備可獲取多個(gè)硬件的硬件信息,并將多個(gè)硬件信息進(jìn)行拼接,比如獲取CPU的硬件信息:CPU-id,獲取內(nèi)存的硬件信息:內(nèi)存-id,獲取PCI的硬件信息:PCI-id,獲取網(wǎng)卡的硬件信息:網(wǎng)卡-mac地址。將上述四個(gè)硬件的硬件信息進(jìn)行拼接得到第一拼接信息為:Temp-data=CPU-id:內(nèi)存-id:PCI-id:網(wǎng)卡-mac地址,其中Temp-data為第一拼接信息。將多個(gè)硬件的硬件信息進(jìn)行拼接時(shí),拼接的順序不同時(shí)得到的第一拼接信息也不同,拼接的順序可以根據(jù)具體情況設(shè)定。在步驟S202和步驟S204中,宿主硬件設(shè)備還獲取了外接硬件設(shè)備的硬件信息,具體獲取過程為:宿主設(shè)備確定需要獲取硬件信息的外接硬件設(shè)備,并獲取該外接硬件設(shè)備的編號(hào),例如該外接硬件設(shè)備的編號(hào)為01。宿主設(shè)備使用對(duì)稱算法對(duì)外接硬件設(shè)備編號(hào)01和步驟S201中用戶輸入的口令進(jìn)行加密,并以文件形式發(fā)送給該外接硬件設(shè)備,加密密碼為固定值infosec_enc_key。設(shè)定步驟S201中用戶輸入的口令為:Passwd=1234。需要說明的是宿主設(shè)備和外接硬件設(shè)備之間進(jìn)行數(shù)據(jù)傳輸時(shí)采用對(duì)稱加密和解密,即加密密碼和解密密碼相同。編號(hào)為01的外接硬件設(shè)備接收到加密文件后使用對(duì)稱算法對(duì)文件進(jìn)行解密,解密密碼為固定值infosec_enc_key,解密后得到外接硬件設(shè)備編號(hào)01以及用戶輸入的口令1234。之后該外接硬件設(shè)備獲取自身多個(gè)硬件的硬件信息,其中獲取硬件信息的硬件對(duì)象可以是中央處理器(Central Processing Unit,簡稱CPU)、內(nèi)存、主板、外設(shè)部件互連標(biāo)準(zhǔn)(Peripheral Component Interconnect,簡稱PCI)、網(wǎng)卡、通用串行總線(Universal Serial Bus,簡稱USB)接口、串口硬盤(Serial ATA,簡稱sata)接口等。外接硬件設(shè)備可獲取自身多個(gè)硬件的硬件信息,并將多個(gè)硬件信息進(jìn)行拼接,比如獲取CPU的硬件信息:CPU-Id,獲取內(nèi)存的硬件信息:內(nèi)存-Id,將上述兩個(gè)硬件的硬件信息與外接硬件設(shè)備編號(hào)01進(jìn)行拼接并封裝得到第二拼接信息hard_message,之后外接硬件設(shè)備使用對(duì)稱算法對(duì)第二拼接信息進(jìn)行加密,并以文件形式發(fā)送給宿主設(shè)備,加密密碼為用戶輸入的口令1234。宿主設(shè)備接收到加密文件后使用對(duì)稱算法對(duì)加密文件進(jìn)行解密,解密密碼同樣為用戶輸入的口令1234。解密后宿主設(shè)備獲取了第二拼接信息。需說明的是本發(fā)明實(shí)施例中的外接硬件設(shè)備可以是與宿主硬件設(shè)備連接的任意能夠運(yùn)行加密或解密程序的設(shè)備。
在步驟S205和步驟S206中,宿主設(shè)備將用戶輸入的口令、第一拼接信息和第二拼接信息進(jìn)行拼接,即Passwd、Temp-data和hard_message進(jìn)行拼接,拼接后得到第三拼接信息,以第三拼接信息為基礎(chǔ)運(yùn)行密鑰生成程序,并對(duì)運(yùn)行結(jié)果數(shù)據(jù)進(jìn)行封裝得到密鑰文件,其中封裝過程按照RSA(公鑰加密算法)或國密標(biāo)準(zhǔn),以報(bào)文(Type-length-value,簡稱TLV)格式封裝成對(duì)應(yīng)格式的密鑰文件。
由于本發(fā)明實(shí)施例中在宿主設(shè)備上根據(jù)用戶輸入的口令、宿主設(shè)備的硬件信息和外接硬件設(shè)備的硬件信息確定密鑰,故生成的密鑰時(shí)不需要采集其它信息,直接利用現(xiàn)有的信息即可生成密鑰,從而既簡化了生成密鑰過程,也保證了密鑰的復(fù)雜度。
進(jìn)一步地,密鑰生成后,宿主設(shè)備可使用密鑰對(duì)目標(biāo)文件進(jìn)行加密,包括:
宿主設(shè)備接收加密或解密指令;
宿主設(shè)備獲取加密或解密指令對(duì)應(yīng)的目標(biāo)文件;
宿主設(shè)備從動(dòng)態(tài)存儲(chǔ)區(qū)獲取生成的密鑰,并根據(jù)生成的密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密。
具體實(shí)施中,本發(fā)明實(shí)施例生成的密鑰存在多種應(yīng)用,比如對(duì)稱加密應(yīng)用、非對(duì)稱加密應(yīng)用、數(shù)字簽名應(yīng)用、P10證書申請(qǐng)應(yīng)用、數(shù)字信封應(yīng)用等。下面以非對(duì)稱加密應(yīng)用和數(shù)字簽名應(yīng)用為例具體介紹。
當(dāng)本發(fā)明實(shí)施例中生成的密鑰應(yīng)用于非對(duì)稱加密時(shí),宿主設(shè)備接收加密或解密指令并生成密鑰,生成的密鑰包括私鑰和公鑰,其中公鑰公開,私鑰保存在宿主設(shè)備的動(dòng)態(tài)存儲(chǔ)區(qū)中。發(fā)送方使用公開的公鑰對(duì)目標(biāo)文件進(jìn)行加密并發(fā)送給宿主設(shè)備,宿主設(shè)備接收到加密后的目標(biāo)文件后,從動(dòng)態(tài)存儲(chǔ)區(qū)中獲取私鑰對(duì)目標(biāo)文件進(jìn)行解密。
當(dāng)本發(fā)明實(shí)施例生成的密鑰應(yīng)用于數(shù)字簽名時(shí),宿主設(shè)備接收加密或解密指令并生成密鑰,生成的密鑰包括私鑰和公鑰,其中公鑰公開,私鑰保存在宿主設(shè)備的動(dòng)態(tài)存儲(chǔ)區(qū)中。宿主設(shè)備使用動(dòng)態(tài)存儲(chǔ)區(qū)中的私鑰對(duì)目標(biāo)文件進(jìn)行加密并簽名之后發(fā)送,接收方接收到加密后的目標(biāo)文件后使用公開的公鑰對(duì)目標(biāo)文件進(jìn)行解密并獲取簽名,通過驗(yàn)證簽名確定目標(biāo)文件的真實(shí)性和完整性。
為了更清楚的介紹上述方法流程,本發(fā)明實(shí)施例提供以下示例,圖3示例性示出了本發(fā)明實(shí)施例提供的另一種生成密鑰的方法流程。
如圖3所述,該方法包括以下步驟:
步驟S301,啟動(dòng)密鑰生成程序,程序運(yùn)行界面彈出口令輸入窗口。
步驟S302,用戶輸入口令。
步驟S303,獲取宿主設(shè)備的硬件信息。
步驟S304,以用戶輸入的口令和宿主設(shè)備的硬件信息為基礎(chǔ)運(yùn)行密鑰生成程序。
步驟S305,對(duì)運(yùn)行結(jié)果進(jìn)行封裝得到密鑰。
步驟S306,將生成的密鑰保存在宿主設(shè)備的動(dòng)態(tài)存儲(chǔ)區(qū)中。
步驟S307,判斷密鑰生成程序是否停止運(yùn)行,若是則執(zhí)行步驟S308,否則執(zhí)行步驟S309。
步驟S308,清除動(dòng)態(tài)存儲(chǔ)區(qū)中保存的密鑰。
步驟S309,動(dòng)態(tài)存儲(chǔ)區(qū)繼續(xù)保存生成的密鑰。
從上述內(nèi)容可以看出,本發(fā)明實(shí)施例提供了一種生成密鑰的方法及宿主設(shè)備,宿主設(shè)備接收密鑰生成指令,然后根據(jù)指令生成密鑰,并將密鑰暫存在宿主設(shè)備中的動(dòng)態(tài)存儲(chǔ)區(qū)中,宿主設(shè)備在使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密后,清除動(dòng)態(tài)存儲(chǔ)區(qū)中的密鑰。本發(fā)明實(shí)施中由于宿主設(shè)備在用戶需要加密或解密目標(biāo)文件時(shí)實(shí)時(shí)生成密鑰,并且將密鑰暫存在宿主設(shè)備的動(dòng)態(tài)存儲(chǔ)區(qū)中,密鑰使用后清除密鑰,故當(dāng)前時(shí)刻產(chǎn)生的密鑰馬上使用,不需要將生成的密鑰保存在本地靜態(tài)存儲(chǔ)區(qū)中,避免了其他人從本地靜態(tài)存儲(chǔ)區(qū)中獲取生成的密鑰,從而保障了密鑰的安全。
基于相同構(gòu)思,圖4示例性的示出了本發(fā)明實(shí)施例提供的一種生成密鑰的宿主設(shè)備的結(jié)構(gòu),該宿主設(shè)備可以執(zhí)行生成密鑰的流程。
如圖4所示,該宿主設(shè)備包括:
接收模塊401,用于接收密鑰生成指令;
密鑰生成模塊402,用于根據(jù)指令生成密鑰,并將密鑰暫存在宿主設(shè)備中的動(dòng)態(tài)存儲(chǔ)區(qū)中;
處理模塊403,用于在使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密后,清除動(dòng)態(tài)存儲(chǔ)區(qū)中的所述密鑰。
可選地,密鑰生成模塊402具體用于:
獲取用戶輸入的口令;
獲取自身硬件信息;
根據(jù)用戶輸入的口令和自身硬件信息生成密鑰。
可選地,密鑰生成模塊402還用于:
獲取宿主設(shè)備的外接硬件設(shè)備的硬件信息;
根據(jù)用戶輸入的口令、自身硬件信息和外接硬件設(shè)備的硬件信息生成密鑰。
可選地,密鑰生成模塊402具體用于:
獲取自身多個(gè)硬件的硬件信息,并將多個(gè)硬件的硬件信息進(jìn)行拼接確定第一拼接信息;
獲取外接硬件設(shè)備上多個(gè)硬件的硬件信息,并將外接硬件設(shè)備上多個(gè)硬件的硬件信息進(jìn)行拼接確定第二拼接信息;
將用戶輸入的口令、第一拼接信息和第二拼接信息進(jìn)行拼接,確定第三拼接信息,根據(jù)第三拼接信息生成密鑰。
可選地,處理模塊403具體用于:
接收加密或解密指令;
獲取加密或解密指令對(duì)應(yīng)的目標(biāo)文件;
從動(dòng)態(tài)存儲(chǔ)區(qū)獲取生成的密鑰,并根據(jù)生成的密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密。
從上述內(nèi)容可以看出,本發(fā)明實(shí)施例提供了一種生成密鑰的方法及宿主設(shè)備,宿主設(shè)備接收密鑰生成指令,然后根據(jù)指令生成密鑰,并將密鑰暫存在宿主設(shè)備中的動(dòng)態(tài)存儲(chǔ)區(qū)中,宿主設(shè)備在使用密鑰對(duì)目標(biāo)文件進(jìn)行加密或解密后,清除動(dòng)態(tài)存儲(chǔ)區(qū)中的密鑰。本發(fā)明實(shí)施中由于宿主設(shè)備在用戶需要加密或解密目標(biāo)文件時(shí)實(shí)時(shí)生成密鑰,并且將密鑰暫存在宿主設(shè)備的動(dòng)態(tài)存儲(chǔ)區(qū)中,密鑰使用后清除密鑰,故當(dāng)前時(shí)刻產(chǎn)生的密鑰馬上使用,不需要將生成的密鑰保存在本地靜態(tài)存儲(chǔ)區(qū)中,避免了其他人從本地靜態(tài)存儲(chǔ)區(qū)中獲取生成的密鑰,從而保障了密鑰的安全。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。