本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種文件驗(yàn)證方法及裝置。
背景技術(shù):
經(jīng)過(guò)近幾年的發(fā)展,文件的電子化程度越來(lái)越高,一些重要的電子文件的安全性就越來(lái)越重要。例如,涉及到貨幣發(fā)行、智能合約、股權(quán)權(quán)利登記和轉(zhuǎn)讓、身份認(rèn)證、健康管理、司法仲裁、投票等程序的文件,一旦被篡改,造成的損失是非常嚴(yán)重的。
在現(xiàn)有技術(shù)中,為確保重要文件的安全性,通常情況下用戶會(huì)將重要文件發(fā)送至公證機(jī)構(gòu)進(jìn)行保全,當(dāng)需要使用這些重要文件時(shí),會(huì)請(qǐng)求公證機(jī)構(gòu)對(duì)這些重要文件進(jìn)行驗(yàn)證,以確保這些重要文件未被篡改。公證機(jī)構(gòu)進(jìn)行驗(yàn)證時(shí),將預(yù)先保全的文件與用戶當(dāng)前提供的文件進(jìn)行比對(duì),當(dāng)比對(duì)結(jié)果一致時(shí),確定文件未被篡改。
然而,由于傳統(tǒng)的公證方案中,文件是保全在公證機(jī)構(gòu)的數(shù)據(jù)庫(kù)中,而公證機(jī)構(gòu)中保全的文件也是由人進(jìn)行管理的,因而,保全在公證機(jī)構(gòu)中的文件仍然存在被篡改的可能,當(dāng)保全的文件與進(jìn)行驗(yàn)證的文件做同樣的篡改時(shí),仍然能夠通過(guò)公證機(jī)構(gòu)的驗(yàn)證,但是文件已經(jīng)不是之前的文件。因此,傳統(tǒng)的公證方案中,文件的安全性完全依賴于公證機(jī)構(gòu)的信用度,仍然存在安全性不高的問(wèn)題,因而,如何提出一種文件驗(yàn)證方法,來(lái)提高文件的安全性,是一亟待解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種文件驗(yàn)證方法及裝置,用以提高文件的安全性。
本發(fā)明提供一種文件驗(yàn)證方法,包括:
接收用戶發(fā)送的待驗(yàn)證文件以及用于驗(yàn)證所述待驗(yàn)證文件的目標(biāo)數(shù)據(jù);
根據(jù)所述目標(biāo)數(shù)據(jù)判斷用于進(jìn)行虛擬貨幣交易的目標(biāo)區(qū)塊鏈中是否存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易;
當(dāng)所述目標(biāo)區(qū)塊鏈中存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易時(shí),確定所述待驗(yàn)證文件驗(yàn)證通過(guò);
輸出驗(yàn)證通過(guò)的提示消息。
本發(fā)明的有益效果在于:通過(guò)驗(yàn)證待驗(yàn)證文件的目標(biāo)文件判斷用于進(jìn)行虛擬貨幣交易的區(qū)塊鏈中是否存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,并在目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易時(shí),確定待驗(yàn)證文件的驗(yàn)證通過(guò)。由于區(qū)塊鏈中的數(shù)據(jù)不易被篡改,因而,通過(guò)區(qū)塊鏈中的交易對(duì)文件進(jìn)行驗(yàn)證,避免了待驗(yàn)證文件和保全的文件被同時(shí)篡改而導(dǎo)致誤驗(yàn)證的可能,進(jìn)而提高了文件的安全性。
在一個(gè)實(shí)施例中,所述方法還包括:
接收用戶發(fā)送的目標(biāo)哈希函數(shù);
根據(jù)所述目標(biāo)哈希函數(shù)計(jì)算所述待驗(yàn)證文件的目標(biāo)哈希值。
在一個(gè)實(shí)施例中,所述根據(jù)所述目標(biāo)哈希函數(shù)計(jì)算所述待驗(yàn)證文件的目標(biāo)哈希值,包括:
獲取所述待驗(yàn)證文件的多種預(yù)設(shè)格式,其中,所述多種預(yù)設(shè)格式包括以下至少一種格式:
原始格式、可擴(kuò)展標(biāo)記語(yǔ)言格式和數(shù)字格式;
根據(jù)所述目標(biāo)哈希函數(shù)對(duì)每種預(yù)設(shè)格式進(jìn)行哈希計(jì)算以得到所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值;
根據(jù)所述目標(biāo)哈希函數(shù)對(duì)所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值進(jìn)行二次哈希計(jì)算以得到目標(biāo)哈希值。
本實(shí)施例的有益效果在于:通過(guò)對(duì)待驗(yàn)證文件進(jìn)行兩次哈希計(jì)算,從而使目標(biāo)哈希值的計(jì)算規(guī)則更加復(fù)雜化,增大了其他用戶通過(guò)待驗(yàn)證文件得到目標(biāo)哈希值的難度,進(jìn)一步提高了文件的安全性。
在一個(gè)實(shí)施例中,當(dāng)所述目標(biāo)數(shù)據(jù)包括交易標(biāo)識(shí)時(shí),所述方法還包括:
判斷所述目標(biāo)區(qū)塊鏈中是否存在與所述交易標(biāo)識(shí)所對(duì)應(yīng)的交易;
當(dāng)存在與所述交易標(biāo)識(shí)所對(duì)應(yīng)的交易時(shí),判斷所述交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
當(dāng)所述交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),獲取所述交易中所記錄的第一哈希值;
將所述第一哈希值與所述目標(biāo)哈希值進(jìn)行比對(duì);
當(dāng)比對(duì)結(jié)果一致時(shí),確定所述目標(biāo)區(qū)塊鏈中存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且所述目標(biāo)交易為記錄所述第一哈希值的交易。
本實(shí)施例的有益效果在于:當(dāng)目標(biāo)區(qū)塊鏈中存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易時(shí),需要判斷交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù)。當(dāng)交易得到一定次數(shù)的確認(rèn)之后,除非設(shè)備計(jì)算速度大于全網(wǎng)速度,否則就無(wú)法對(duì)該交易中的第一哈希值進(jìn)行編輯。避免了其他用戶對(duì)第一哈希值進(jìn)行修改。提高了文件的安全性。
在一個(gè)實(shí)施例中,當(dāng)所述目標(biāo)數(shù)據(jù)不包括交易標(biāo)識(shí)時(shí),所述方法還包括:
判斷所述目標(biāo)區(qū)塊鏈中是否存在與所述目標(biāo)哈希值一致的第二哈希值;
當(dāng)存在與所述目標(biāo)哈希值一致的第二哈希值時(shí),判斷記錄所述第二哈希值的交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
當(dāng)記錄所述第二哈希值的交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),確定所述目標(biāo)區(qū)塊鏈中存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且所述目標(biāo)交易為記錄所述第二哈希值的交易。
本實(shí)施例的有益效果在于:在無(wú)法得到交易標(biāo)識(shí)時(shí),通過(guò)目標(biāo)哈希值判斷目標(biāo)區(qū)塊鏈中是否存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,從而提供了一種在沒(méi)有交易標(biāo)識(shí)時(shí)的驗(yàn)證方案,降低了文件驗(yàn)證的條件。
本發(fā)明還提供一種文件驗(yàn)證裝置,包括:
第一接收模塊,用于接收用戶發(fā)送的待驗(yàn)證文件以及用于驗(yàn)證所述待驗(yàn)證文件的目標(biāo)數(shù)據(jù);
第一判斷模塊,用于根據(jù)所述目標(biāo)數(shù)據(jù)判斷用于進(jìn)行虛擬貨幣交易的目標(biāo)區(qū)塊鏈中是否存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易;
第一確定模塊,用于當(dāng)所述目標(biāo)區(qū)塊鏈中存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易時(shí),確定所述待驗(yàn)證文件驗(yàn)證通過(guò);
輸出模塊,用于輸出驗(yàn)證通過(guò)的提示消息。
在一個(gè)實(shí)施例中,所述裝置還包括:
第二接收模塊,用于接收用戶發(fā)送的目標(biāo)哈希函數(shù);
計(jì)算模塊,用于根據(jù)所述目標(biāo)哈希函數(shù)計(jì)算所述待驗(yàn)證文件的目標(biāo)哈希值。
在一個(gè)實(shí)施例中,所述計(jì)算模塊,包括:
獲取子模塊,用于獲取所述待驗(yàn)證文件的多種預(yù)設(shè)格式,其中,所述多種預(yù)設(shè)格式包括以下至少一種格式:
原始格式、可擴(kuò)展標(biāo)記語(yǔ)言格式和數(shù)字格式;
第一計(jì)算子模塊,用于根據(jù)所述目標(biāo)哈希函數(shù)對(duì)每種預(yù)設(shè)格式進(jìn)行哈希計(jì)算以得到所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值;
第二計(jì)算子模塊,用于根據(jù)所述目標(biāo)哈希函數(shù)對(duì)所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值進(jìn)行二次哈希計(jì)算以得到目標(biāo)哈希值。
在一個(gè)實(shí)施例中,所述裝置還包括:
第二判斷模塊,用于當(dāng)所述目標(biāo)數(shù)據(jù)包括交易標(biāo)識(shí)時(shí),判斷所述目標(biāo)區(qū)塊鏈中是否存在與所述交易標(biāo)識(shí)所對(duì)應(yīng)的交易;
第三判斷模塊,用于當(dāng)存在與所述交易標(biāo)識(shí)所對(duì)應(yīng)的交易時(shí),判斷所述交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
獲取模塊,用于當(dāng)所述交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),獲取所述交易中所記錄的第一哈希值;
比對(duì)模塊,用于將所述第一哈希值與所述目標(biāo)哈希值進(jìn)行比對(duì);
第二確定模塊,用于當(dāng)比對(duì)結(jié)果一致時(shí),確定所述目標(biāo)區(qū)塊鏈中存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且所述目標(biāo)交易為記錄所述第一哈希值的交易。
在一個(gè)實(shí)施例中,所述裝置還包括:
第四判斷模塊,用于當(dāng)所述目標(biāo)數(shù)據(jù)不包括交易標(biāo)識(shí)時(shí),判斷所述目標(biāo)區(qū)塊鏈中是否存在與所述目標(biāo)哈希值一致的第二哈希值;
第五判斷模塊,用于當(dāng)存在與所述目標(biāo)哈希值一致的第二哈希值時(shí),判斷記錄所述第二哈希值的交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
第三確定模塊,用于當(dāng)記錄所述第二哈希值的交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),確定所述目標(biāo)區(qū)塊鏈中存在與所述待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且所述目標(biāo)交易為記錄所述第二哈希值的交易。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1為本發(fā)明一實(shí)施例中文件驗(yàn)證方法的流程圖;
圖2為本發(fā)明一實(shí)施例中文件驗(yàn)證方法的流程圖;
圖3為本發(fā)明一實(shí)施例中文件驗(yàn)證方法的流程圖;
圖4為本發(fā)明一實(shí)施例中文件驗(yàn)證方法的流程圖;
圖5為本發(fā)明一實(shí)施例中文件驗(yàn)證方法的流程圖;
圖6為本發(fā)明一實(shí)施例中文件驗(yàn)證裝置的框圖;
圖7為本發(fā)明一實(shí)施例中文件驗(yàn)證裝置的框圖;
圖8為本發(fā)明一實(shí)施例中文件驗(yàn)證裝置的框圖;
圖9為本發(fā)明一實(shí)施例中文件驗(yàn)證裝置的框圖;
圖10為本發(fā)明一實(shí)施例中文件驗(yàn)證裝置的框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
區(qū)塊鏈技術(shù)是指通過(guò)去中心化和去信任的方式集體維護(hù)一個(gè)可靠數(shù)據(jù)庫(kù)的技術(shù)方案。該技術(shù)方案主要讓參與系統(tǒng)中的任意多個(gè)節(jié)點(diǎn),通過(guò)一串使用密碼學(xué)方法相關(guān)聯(lián)產(chǎn)生的數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊中包含了一定時(shí)間內(nèi)的系統(tǒng)全部信息交流數(shù)據(jù),并且生成數(shù)據(jù)指紋用于驗(yàn)證其信息的有效性和鏈接下一個(gè)數(shù)據(jù)庫(kù)塊。
區(qū)塊鏈能實(shí)現(xiàn)全球數(shù)據(jù)信息的分布式記錄(可以由系統(tǒng)參與者集體記錄,而非由一個(gè)中心化的機(jī)構(gòu)集中記錄)與分布式存儲(chǔ)(可以存儲(chǔ)在所有參與記錄數(shù)據(jù)的節(jié)點(diǎn)中,而非集中存儲(chǔ)于中心化的機(jī)構(gòu)節(jié)點(diǎn)中)。
區(qū)塊鏈技術(shù)可以在信息不對(duì)稱、不確定的環(huán)境下,建立滿足經(jīng)濟(jì)活動(dòng)賴以發(fā)生、發(fā)展的“信任”生態(tài)體系。區(qū)塊鏈以數(shù)學(xué)算法(程序)作為背書,所有的規(guī)則都建立一個(gè)公開(kāi)透明的數(shù)學(xué)算法(程序)之上,能夠讓所有不同政治文化背景的人群獲得共識(shí),解決價(jià)值轉(zhuǎn)移和信用轉(zhuǎn)移。
存儲(chǔ)在進(jìn)行虛擬貨幣交易的區(qū)塊鏈中的數(shù)據(jù)不易丟失和篡改,本發(fā)明的技術(shù)方案就是利用區(qū)塊鏈的這一特性所提出的。
圖1為本發(fā)明一實(shí)施例中文件驗(yàn)證方法的流程圖,如圖1所示,本發(fā)明中文件驗(yàn)證方法可用于提供公證服務(wù)的機(jī)構(gòu)所對(duì)應(yīng)的服務(wù)器,該方法包括如下步驟S101-S104:
在步驟S101中,接收用戶發(fā)送的待驗(yàn)證文件以及用于驗(yàn)證待驗(yàn)證文件的目標(biāo)數(shù)據(jù);
在步驟S102中,根據(jù)目標(biāo)數(shù)據(jù)判斷用于進(jìn)行虛擬貨幣交易的目標(biāo)區(qū)塊鏈中是否存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易;
在步驟S103中,當(dāng)目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易時(shí),確定待驗(yàn)證文件驗(yàn)證通過(guò);
在步驟S104中,輸出驗(yàn)證通過(guò)的提示消息。
本實(shí)施例中,接收用戶發(fā)送的待驗(yàn)證文件,以及用于驗(yàn)證待驗(yàn)證文件的目標(biāo)數(shù)據(jù);其中,該目標(biāo)數(shù)據(jù)可以是對(duì)待驗(yàn)證文件進(jìn)行保全時(shí)所在交易的交易標(biāo)識(shí)。根據(jù)該目標(biāo)數(shù)據(jù)判斷用于進(jìn)行虛擬貨幣交易的目標(biāo)區(qū)塊鏈中是否存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易;當(dāng)目標(biāo)區(qū)塊鏈中存在與該待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易時(shí),確定該待驗(yàn)證文件驗(yàn)證通過(guò);輸出驗(yàn)證通過(guò)的提示消息。
本發(fā)明的有益效果在于:通過(guò)驗(yàn)證待驗(yàn)證文件的目標(biāo)文件判斷用于進(jìn)行虛擬貨幣交易的區(qū)塊鏈中是否存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,并在目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易時(shí),確定待驗(yàn)證文件的驗(yàn)證通過(guò)。由于區(qū)塊鏈中的數(shù)據(jù)不易被篡改,因而,通過(guò)區(qū)塊鏈中的交易對(duì)文件進(jìn)行驗(yàn)證,避免了待驗(yàn)證文件和保全的文件被同時(shí)篡改而導(dǎo)致誤驗(yàn)證的可能,進(jìn)而提高了文件的安全性。
在一個(gè)實(shí)施例中,如圖2所示,在上述步驟S102之前,方法還可被實(shí)施為如下步驟S201-S202:
在步驟S201中,接收用戶發(fā)送的目標(biāo)哈希函數(shù);
在步驟S202中,根據(jù)目標(biāo)哈希函數(shù)計(jì)算待驗(yàn)證文件的目標(biāo)哈希值。
用戶可以將用于驗(yàn)證的文件預(yù)先保全在用戶進(jìn)行虛擬貨幣交易的區(qū)塊鏈中。另外,由于區(qū)塊鏈并不是為數(shù)據(jù)存儲(chǔ)設(shè)計(jì),只能存儲(chǔ)少量數(shù)據(jù),例如,原始文件的哈希值,因此,用戶可將待驗(yàn)證文件對(duì)應(yīng)的哈希值存儲(chǔ)在區(qū)塊鏈的交易中,以實(shí)現(xiàn)對(duì)待驗(yàn)證文件的保全。因?yàn)閰^(qū)塊鏈存儲(chǔ)了所有已經(jīng)確認(rèn)的交易,而且因?yàn)楣V凳俏ㄒ坏?,所以就可以證明該哈希值對(duì)應(yīng)的文件的存在。
需要說(shuō)明的是,該待驗(yàn)證文件對(duì)應(yīng)的哈希值可以是該待驗(yàn)證文件本身的哈希值。也可以是多種格式的該待驗(yàn)證文件的最終哈希值。
在計(jì)算多種格式的該待驗(yàn)證文件的最終哈希值時(shí),預(yù)先獲取該待驗(yàn)證文件的多種預(yù)設(shè)格式,根據(jù)預(yù)設(shè)的哈希函數(shù)對(duì)這些預(yù)設(shè)格式的待驗(yàn)證文件進(jìn)行哈希計(jì)算,得到多種預(yù)設(shè)格式的待驗(yàn)證文件的哈希值,然后根據(jù)該預(yù)設(shè)的哈希函數(shù)對(duì)得到的多個(gè)哈希值進(jìn)行二次哈希計(jì)算,得到該待驗(yàn)證文件的最終哈希值。
由于用戶進(jìn)行數(shù)據(jù)保全時(shí)保全的是文件的哈希值,因而,本實(shí)施例中,在判斷目標(biāo)區(qū)塊鏈中是否存在與該待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易之前,方法還包括,接收用戶發(fā)送的目標(biāo)哈希函數(shù),根據(jù)該目標(biāo)哈希函數(shù)計(jì)算該待驗(yàn)證文件的目標(biāo)哈希值。本實(shí)施例中,計(jì)算待驗(yàn)證文件的目標(biāo)哈希值,以便后續(xù)與區(qū)塊鏈中文件保全時(shí)存儲(chǔ)的哈希值進(jìn)行比對(duì),以實(shí)現(xiàn)對(duì)待驗(yàn)證文件的驗(yàn)證。
在一個(gè)實(shí)施例中,如圖3所示,上述步驟S202可被實(shí)施為如下步驟S301-S303:
在步驟S301中,獲取待驗(yàn)證文件的多種預(yù)設(shè)格式,其中,多種預(yù)設(shè)格式包括以下至少一種格式:
原始格式、可擴(kuò)展標(biāo)記語(yǔ)言格式和數(shù)字格式;
在步驟S302中,根據(jù)目標(biāo)哈希函數(shù)對(duì)每種預(yù)設(shè)格式進(jìn)行哈希計(jì)算以得到所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值;
在步驟S303中,根據(jù)目標(biāo)哈希函數(shù)對(duì)所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值進(jìn)行二次哈希計(jì)算以得到目標(biāo)哈希值。
本實(shí)施例中,獲取待驗(yàn)證文件的多種預(yù)設(shè)格式。其中,該待驗(yàn)證文件的預(yù)設(shè)格式與其進(jìn)行數(shù)據(jù)保全時(shí)計(jì)算哈希值所用到的格式是一致的,從而保證哈希值的一致性。
根據(jù)用戶發(fā)送的目標(biāo)哈希函數(shù)分別對(duì)每種格式的文件進(jìn)行哈希計(jì)算以得到所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值。其中,該目標(biāo)哈希函數(shù)為用戶對(duì)該待驗(yàn)證文件進(jìn)行保全時(shí)所使用的哈希函數(shù)。
根據(jù)用戶發(fā)送的目標(biāo)哈希函數(shù)對(duì)所有預(yù)設(shè)格式的文件所對(duì)應(yīng)的哈希函數(shù)進(jìn)行二次哈希計(jì)算,從而得到該待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)哈希值。
由于本實(shí)施例中進(jìn)行兩次哈希計(jì)算,因而,即使其他用戶得到該待驗(yàn)證文件,其如果不知道在計(jì)算目標(biāo)哈希值時(shí)所使用的文件格式,也無(wú)法得到該目標(biāo)哈希值,進(jìn)一步提高了文件的安全性。
本實(shí)施例的有益效果在于:通過(guò)對(duì)待驗(yàn)證文件進(jìn)行兩次哈希計(jì)算,從而使目標(biāo)哈希值的計(jì)算規(guī)則更加復(fù)雜化,增大了其他用戶通過(guò)待驗(yàn)證文件得到目標(biāo)哈希值的難度,進(jìn)一步提高了文件的安全性。
在一個(gè)實(shí)施例中,當(dāng)目標(biāo)數(shù)據(jù)包括交易標(biāo)識(shí)時(shí),如圖4所示,在上述步驟S103之前,方法還可被實(shí)施為如下步驟S401-S405:
在步驟S401中,判斷目標(biāo)區(qū)塊鏈中是否存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易;
在步驟S402中,當(dāng)存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易時(shí),判斷交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
在步驟S403中,當(dāng)交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),獲取交易中所記錄的第一哈希值;
在步驟S404中,將第一哈希值與目標(biāo)哈希值進(jìn)行比對(duì);
在步驟S405中,當(dāng)比對(duì)結(jié)果一致時(shí),確定目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且目標(biāo)交易為記錄第一哈希值的交易。
本實(shí)施例中,判斷目標(biāo)區(qū)塊鏈中是否存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易。
區(qū)塊鏈中的數(shù)據(jù)結(jié)構(gòu)類似于堆棧結(jié)構(gòu)。因而,用戶在進(jìn)行文件保全時(shí),將文件對(duì)應(yīng)的哈希值發(fā)送至進(jìn)行加密貨幣交易的區(qū)塊鏈時(shí),相當(dāng)于將進(jìn)行保全的文件對(duì)應(yīng)的哈希值置于棧頂。
由于堆棧中只能對(duì)棧頂?shù)臄?shù)據(jù)進(jìn)行編輯,因而,隨著加密貨幣交易的不斷進(jìn)行,棧頂位置被這些交易對(duì)應(yīng)的交易數(shù)據(jù)所取代。并且,區(qū)塊鏈不可更改的原理是一個(gè)交易被加入到一個(gè)區(qū)塊中,需要10分鐘得到交易的確認(rèn),之后的所有區(qū)塊都會(huì)包含該交易,每增加一個(gè)區(qū)塊意味著新增一次確認(rèn)。因而,時(shí)間越久,獲得的確認(rèn)次數(shù)越多,交易越不易被篡改。因?yàn)橄胍M(jìn)行修改,必須重新構(gòu)造后面的區(qū)塊。當(dāng)最終創(chuàng)建的區(qū)塊長(zhǎng)度超過(guò)原主分支區(qū)塊,成為新的主分支。也就是說(shuō),其他人想要對(duì)交易進(jìn)行篡改,其設(shè)備必須具備比區(qū)塊鏈全網(wǎng)的算力還要強(qiáng)大的算力,才可能對(duì)交易進(jìn)行篡改,而目前并不存在這樣的設(shè)備。因而,由于其他人無(wú)法對(duì)進(jìn)行保全的文件對(duì)應(yīng)的哈希值進(jìn)行編輯。提高了文件的安全性。
因此,當(dāng)存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易時(shí),判斷該交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù),當(dāng)該交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),則進(jìn)行保全的文件對(duì)應(yīng)的哈希值是無(wú)法被篡改的。
故當(dāng)該交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),獲取該交易中所記錄的第一哈希值,并將第一哈希值與目標(biāo)哈希值進(jìn)行比對(duì)。
當(dāng)比對(duì)結(jié)果一致的時(shí)候,確定該目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,該目標(biāo)交易為記錄該第一哈希值的交易。即該待驗(yàn)證文件在進(jìn)行該目標(biāo)交易之前就已經(jīng)存在。
需要說(shuō)明的是,本實(shí)施例適用于用戶自己通過(guò)區(qū)塊鏈對(duì)待驗(yàn)證文件進(jìn)行保全的情況。在用戶將待驗(yàn)證文件對(duì)應(yīng)的哈希值保存在區(qū)塊鏈中時(shí),生成用于保全該待驗(yàn)證文件的交易及該交易對(duì)應(yīng)的標(biāo)識(shí),這樣用戶可以得到該交易的標(biāo)識(shí)。以便使公證機(jī)構(gòu)能夠通過(guò)用戶發(fā)送的交易標(biāo)識(shí)查詢到相應(yīng)的交易。
本實(shí)施例的有益效果在于:當(dāng)目標(biāo)區(qū)塊鏈中存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易時(shí),需要判斷交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù)。當(dāng)交易得到一定次數(shù)的確認(rèn)之后,除非設(shè)備計(jì)算速度大于全網(wǎng)速度,否則就無(wú)法對(duì)該交易中的第一哈希值進(jìn)行編輯。避免了其他用戶對(duì)第一哈希值進(jìn)行修改。提高了文件的安全性。
在一個(gè)實(shí)施例中,當(dāng)目標(biāo)數(shù)據(jù)不包括交易標(biāo)識(shí)時(shí),如圖5所示,在上述步驟S103之前,方法還可被實(shí)施為如下步驟S501-S503:
在步驟S501中,判斷目標(biāo)區(qū)塊鏈中是否存在與目標(biāo)哈希值一致的第二哈希值;
在步驟S502中,當(dāng)存在與目標(biāo)哈希值一致的第二哈希值時(shí),判斷記錄第二哈希值的交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
在步驟S503中,當(dāng)記錄第二哈希值的交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),確定目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且目標(biāo)交易為記錄第二哈希值的交易。
本實(shí)施例中,判斷目標(biāo)區(qū)塊鏈中是否存在與目標(biāo)哈希值一致的第二哈希值;當(dāng)存在與該目標(biāo)哈希值一致的第二哈希值時(shí),判斷記錄該第二哈希值的交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù)。
當(dāng)記錄第二哈希值的交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),確定目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且目標(biāo)交易為記錄第二哈希值的交易。
需要說(shuō)明的是,本實(shí)施例適用于用戶委托第三方保全機(jī)構(gòu)通過(guò)區(qū)塊鏈對(duì)待驗(yàn)證文件進(jìn)行保全的情況,而第三方保全機(jī)構(gòu)在通過(guò)去區(qū)塊鏈對(duì)待驗(yàn)證文件進(jìn)行保全之后,并不會(huì)向用戶提供交易標(biāo)識(shí)。因而,當(dāng)用戶需要對(duì)待驗(yàn)證文件進(jìn)行驗(yàn)證時(shí),只能提供進(jìn)行保全時(shí)所使用的哈希函數(shù)和所使用的文件格式。因而,在無(wú)法得到交易標(biāo)識(shí)的時(shí)候,只能通過(guò)用戶提供的哈希函數(shù)和文件格式來(lái)計(jì)算待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)哈希值,并查詢區(qū)塊鏈中是否存在與該目標(biāo)哈希值一致的哈希值。
本實(shí)施例的有益效果在于:在無(wú)法得到交易標(biāo)識(shí)時(shí),通過(guò)目標(biāo)哈希值判斷目標(biāo)區(qū)塊鏈中是否存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,從而提供了一種在沒(méi)有交易標(biāo)識(shí)時(shí)的驗(yàn)證方案,降低了文件驗(yàn)證的條件。
圖6為本發(fā)明一實(shí)施例中文件驗(yàn)證裝置的框圖,如圖6所示,本發(fā)明中文件驗(yàn)證裝置可用于提供公證服務(wù)的機(jī)構(gòu)所對(duì)應(yīng)的服務(wù)器,該裝置包括如下模塊:
第一接收模塊61,用于接收用戶發(fā)送的待驗(yàn)證文件以及用于驗(yàn)證待驗(yàn)證文件的目標(biāo)數(shù)據(jù);
第一判斷模塊62,用于根據(jù)目標(biāo)數(shù)據(jù)判斷用于進(jìn)行虛擬貨幣交易的目標(biāo)區(qū)塊鏈中是否存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易;
第一確定模塊63,用于當(dāng)目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易時(shí),確定待驗(yàn)證文件驗(yàn)證通過(guò);
輸出模塊64,用于輸出驗(yàn)證通過(guò)的提示消息。
在一個(gè)實(shí)施例中,如圖7所示,裝置還包括:
第二接收模塊71,用于接收用戶發(fā)送的目標(biāo)哈希函數(shù);
計(jì)算模塊72,用于根據(jù)目標(biāo)哈希函數(shù)計(jì)算待驗(yàn)證文件的目標(biāo)哈希值。
在一個(gè)實(shí)施例中,如圖8所示,計(jì)算模塊72,包括:
獲取子模塊81,用于獲取待驗(yàn)證文件的多種預(yù)設(shè)格式,其中,多種預(yù)設(shè)格式包括以下至少一種格式:
原始格式、可擴(kuò)展標(biāo)記語(yǔ)言格式和數(shù)字格式;
第一計(jì)算子模塊82,用于根據(jù)目標(biāo)哈希函數(shù)對(duì)每種預(yù)設(shè)格式進(jìn)行哈希計(jì)算以得到所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值;
第二計(jì)算子模塊83,用于根據(jù)目標(biāo)哈希函數(shù)對(duì)所有預(yù)設(shè)格式所對(duì)應(yīng)的哈希值進(jìn)行二次哈希計(jì)算以得到目標(biāo)哈希值。
在一個(gè)實(shí)施例中,如圖9所示,裝置還包括:
第二判斷模塊91,用于當(dāng)目標(biāo)數(shù)據(jù)包括交易標(biāo)識(shí)時(shí),判斷目標(biāo)區(qū)塊鏈中是否存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易;
第三判斷模塊92,用于當(dāng)存在與交易標(biāo)識(shí)所對(duì)應(yīng)的交易時(shí),判斷交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
獲取模塊93,用于當(dāng)交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),獲取交易中所記錄的第一哈希值;
比對(duì)模塊94,用于將第一哈希值與目標(biāo)哈希值進(jìn)行比對(duì);
第二確定模塊95,用于當(dāng)比對(duì)結(jié)果一致時(shí),確定目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且目標(biāo)交易為記錄第一哈希值的交易。
在一個(gè)實(shí)施例中,如圖10所示,裝置還包括:
第四判斷模塊101,用于當(dāng)目標(biāo)數(shù)據(jù)不包括交易標(biāo)識(shí)時(shí),判斷目標(biāo)區(qū)塊鏈中是否存在與目標(biāo)哈希值一致的第二哈希值;
第五判斷模塊102,用于當(dāng)存在與目標(biāo)哈希值一致的第二哈希值時(shí),判斷記錄第二哈希值的交易得到確認(rèn)的次數(shù)是否達(dá)到預(yù)設(shè)次數(shù);
第三確定模塊103,用于當(dāng)記錄第二哈希值的交易得到確認(rèn)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)時(shí),確定目標(biāo)區(qū)塊鏈中存在與待驗(yàn)證文件對(duì)應(yīng)的目標(biāo)交易,且目標(biāo)交易為記錄第二哈希值的交易。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(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è)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。