本發(fā)明屬于加密解密技術(shù)領(lǐng)域,特別涉及一種針對(duì)加密文件的自動(dòng)解密方法。
背景技術(shù):
隨著網(wǎng)絡(luò)的快速發(fā)展,人們可以迅速通過(guò)互聯(lián)網(wǎng)得到想要的信息,這極大方便了日常生活,提高了工作的效率。然而,在帶來(lái)便利的同時(shí),大量的信息處在裸露的網(wǎng)絡(luò)空間中,存在時(shí)刻被泄漏的風(fēng)險(xiǎn)。現(xiàn)如今的安全軟件,大部分都是采用“主動(dòng)安全防御”的方式,將文件進(jìn)行加密處理,從而防止文件外泄。
需要讀取加密文件時(shí),首先要對(duì)其解密,目前通常采用的方式是用戶親自找出加密文件,然后使用專(zhuān)業(yè)工具,或向上級(jí)發(fā)送解密請(qǐng)求。當(dāng)用戶需要進(jìn)行全盤(pán)解密時(shí),再采用通用的方式進(jìn)行解密,工作量是無(wú)法預(yù)估的,現(xiàn)有的解密方式在處理大量文件時(shí)存在解密效率低下、解密不全的問(wèn)題,有待改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的,在于提供一種加密文件的解密方法,其無(wú)需手工操作,提高解密效率,
為了達(dá)成上述目的,本發(fā)明的解決方案是:
一種加密文件的解密方法,包括如下步驟:
步驟1,根據(jù)加密文件頭信息,掃描出加密文件,并將其全路徑信息存入數(shù)據(jù)庫(kù);
步驟2,從數(shù)據(jù)庫(kù)中讀取加密文件全路徑信息,進(jìn)行文件解密并將解密結(jié)果存入數(shù)據(jù)庫(kù)。
上述步驟1中,啟動(dòng)掃描進(jìn)程時(shí),還創(chuàng)建互斥量,檢測(cè)解密進(jìn)程是否運(yùn)行,沒(méi)有運(yùn)行則啟動(dòng)解密進(jìn)程。
上述步驟1中,數(shù)據(jù)庫(kù)的每個(gè)盤(pán)符都具有獨(dú)立的db文件。
上述步驟1中,掃描時(shí)采用遞歸方式。
上述步驟1中,掃描的加密文件在將其全路徑信息存入數(shù)據(jù)庫(kù)的同時(shí),還將加密文件備份到備份目錄下。
上述加密文件在備份目錄下的位置和加密文件的原存放文件夾路徑一致。
上述步驟2中,讀取數(shù)據(jù)庫(kù)中是否存在加密文件數(shù)據(jù),若存在則取出該文件全路徑進(jìn)行解密操作,不存在則進(jìn)入等待。
上述步驟2中,在運(yùn)行解密進(jìn)程進(jìn)行文件解密時(shí),還啟動(dòng)看護(hù)狗線程看護(hù)掃描進(jìn)程,當(dāng)掃描進(jìn)程掃描完成和解密進(jìn)程解密結(jié)束時(shí),判斷進(jìn)程是否退出,若還存在則強(qiáng)殺進(jìn)程。
采用上述方案后,本發(fā)明根據(jù)加密文件頭信息掃描出所有加密文件,并自動(dòng)開(kāi)啟解密進(jìn)程解密,解決了對(duì)大量文件解密效率低下、文件解密不全的問(wèn)題。當(dāng)用戶下發(fā)自動(dòng)解密命令,解密整個(gè)加密文件過(guò)程無(wú)需手工操作,這樣既提高了效率,程序通過(guò)文件頭判斷加密文件,又可避免加密文件未解密的問(wèn)題。
附圖說(shuō)明
圖1是本發(fā)明的流程圖。
具體實(shí)施方式
以下將結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
如圖1所示,本發(fā)明提供一種加密文件的解密方法,包括如下步驟:
步驟1,掃描進(jìn)程
根據(jù)配置文件加密文件頭信息,遞歸掃描指定路徑,掃描出加密文件,并將文件全路徑等狀態(tài)信息存入數(shù)據(jù)庫(kù);
在具體實(shí)現(xiàn)時(shí),用戶下發(fā)命令啟動(dòng)掃描進(jìn)程,掃描進(jìn)程啟動(dòng)自身創(chuàng)建一個(gè)互斥量保證進(jìn)程單一實(shí)例,并啟動(dòng)看護(hù)狗線程,用于檢測(cè)解密進(jìn)程是否在運(yùn)行,沒(méi)有運(yùn)行則啟動(dòng)解密進(jìn)程;掃描進(jìn)程開(kāi)始根據(jù)給定的路徑進(jìn)行掃描,掃描文件采用遞歸方式,當(dāng)掃描到文件時(shí)取出文件頭和配置的加密文件頭比較判斷該文件是否為加密文件,是則存入數(shù)據(jù)庫(kù),并將該加密文件備份到指定的備份目錄下,進(jìn)行備份主要是防止解密失敗導(dǎo)致文件損壞,主要用于文件的找回,文件在備份目錄下的位置和原文件存放的文件夾路徑一致;其中,數(shù)據(jù)庫(kù)用于存儲(chǔ)加密文件信息,且每個(gè)盤(pán)符都擁有獨(dú)立的db文件,采用分庫(kù)的方式提升效率;
步驟2,解密進(jìn)程
運(yùn)行解密進(jìn)程時(shí),讀取數(shù)據(jù)庫(kù)中是否存在加密文件數(shù)據(jù),存在則取出該文件全路徑進(jìn)行解密操作,并將解密結(jié)果存入數(shù)據(jù)庫(kù),解密進(jìn)程啟動(dòng)一個(gè)解密線程查詢數(shù)據(jù)庫(kù)是否存在數(shù)據(jù),不存在則進(jìn)入等待;當(dāng)解密線程查詢數(shù)據(jù)庫(kù),查詢待解密的文件數(shù)為0,并且掃描的路徑已掃描完成則判讀為解密結(jié)束時(shí),自動(dòng)退出進(jìn)程;
在解密進(jìn)程運(yùn)行時(shí),同時(shí)啟動(dòng)看護(hù)狗線程,進(jìn)行看護(hù)掃描進(jìn)程,當(dāng)解密進(jìn)程解密完成時(shí)會(huì)在配置文件參數(shù)寫(xiě)入完成狀態(tài)值:5,并自動(dòng)退出,當(dāng)掃描進(jìn)程讀取配置文件該參數(shù)值為5時(shí),掃描進(jìn)程自動(dòng)退出。
綜合上述,本發(fā)明一種加密文件的解密方法,具有以下特點(diǎn):
(1)當(dāng)進(jìn)行大量文件解密時(shí),無(wú)須人工一個(gè)一個(gè)點(diǎn)擊,直接指定該路徑啟動(dòng)自動(dòng)解密;
(2)現(xiàn)有方案需要人工查找加密文件,而本發(fā)明能夠自動(dòng)掃描文件,根據(jù)加密文件頭判斷是否為加密文件并存入數(shù)據(jù)庫(kù);
(3)自動(dòng)解密加密文件,提高了效率。
以上實(shí)施例僅為說(shuō)明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動(dòng),均落入本發(fā)明保護(hù)范圍之內(nèi)。