亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)匹配方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

文檔序號(hào):12864125閱讀:255來(lái)源:國(guó)知局
數(shù)據(jù)匹配方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

本公開(kāi)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)匹配方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,為了實(shí)現(xiàn)多方的共贏,多個(gè)獨(dú)立方可以組成聯(lián)盟,并在聯(lián)盟中進(jìn)行數(shù)據(jù)的共享,確定多個(gè)獨(dú)立方之間的交集數(shù)據(jù)。對(duì)于聯(lián)盟中進(jìn)行數(shù)據(jù)共享的兩方或者多方而言,將各個(gè)獨(dú)立方的數(shù)據(jù)進(jìn)行匹配,便可以得到多個(gè)獨(dú)立方之間的交集數(shù)據(jù),進(jìn)而基于交集數(shù)據(jù),可以有針對(duì)性的進(jìn)行方案的策劃等。例如,兩個(gè)或更多國(guó)家可能希望通過(guò)共享某一案件中嫌疑人的信息,確定各個(gè)國(guó)家正在監(jiān)視的相同的嫌疑人的信息,以便更全面的對(duì)嫌疑人進(jìn)行監(jiān)視。

相關(guān)技術(shù)中,聯(lián)盟中的多個(gè)獨(dú)立方在確定相互之間存在的交集數(shù)據(jù)時(shí),多個(gè)獨(dú)立方中的某一獨(dú)立方需將全部數(shù)據(jù)直接分享給與其存在聯(lián)盟的其他獨(dú)立方,其他獨(dú)立方在接收到數(shù)據(jù)后,將某一獨(dú)立方的數(shù)據(jù)與自身的數(shù)據(jù)進(jìn)行匹配,確定交集數(shù)據(jù)。

在實(shí)現(xiàn)本公開(kāi)的過(guò)程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)至少存在以下問(wèn)題:

由于在進(jìn)行數(shù)據(jù)的匹配時(shí),多個(gè)獨(dú)立方中的某一獨(dú)立方需要將待匹配的全部數(shù)據(jù)分享給聯(lián)盟中其他的獨(dú)立方,導(dǎo)致某一獨(dú)立方需要公開(kāi)暴露自己待匹配的全部數(shù)據(jù),使得有時(shí)若聯(lián)盟中的全部獨(dú)立方均不愿將待匹配的數(shù)據(jù)公開(kāi)暴露給其他獨(dú)立方時(shí),便無(wú)法達(dá)成數(shù)據(jù)匹配,使得多個(gè)獨(dú)立方構(gòu)成的聯(lián)盟具有不平等性,且保密性不高。



技術(shù)實(shí)現(xiàn)要素:

為克服相關(guān)技術(shù)中存在的問(wèn)題,本公開(kāi)提供一種數(shù)據(jù)匹配方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。

根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種數(shù)據(jù)匹配方法,所述方法應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn),所述方法包括:

基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù);

根據(jù)所述第一加密數(shù)據(jù)生成第一過(guò)濾算法,將所述第一過(guò)濾算法添加至所述數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,以使第二節(jié)點(diǎn)基于所述第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),所述第二加密數(shù)據(jù)由所述第二節(jié)點(diǎn)基于所述加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密生成;

在所述區(qū)塊鏈中獲取第二過(guò)濾算法,基于所述第二過(guò)濾算法對(duì)所述第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),所述第二過(guò)濾算法由所述第二節(jié)點(diǎn)根據(jù)所述第二數(shù)據(jù)生成,并由所述第二節(jié)點(diǎn)添加至所述區(qū)塊鏈;

若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)一致,則將所述第一數(shù)據(jù)作為所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)之間匹配的交集數(shù)據(jù)。

在另一個(gè)實(shí)施例中,所述基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)之前,所述方法還包括:

基于所述第二節(jié)點(diǎn)的公鑰對(duì)第一隨機(jī)字符串加密,得到第一密文;

將所述第一密文添加至所述區(qū)塊鏈,以使所述第二節(jié)點(diǎn)在獲取到所述第一密文中的第一隨機(jī)字符時(shí),基于第二隨機(jī)字符串和所述第一隨機(jī)字符串生成所述加密字符串,并對(duì)所述加密字符串加密,得到第二密文,將所述第二密文添加至所述區(qū)塊鏈;

從所述區(qū)塊鏈獲取所述第二密文,基于所述第一節(jié)點(diǎn)的私鑰,對(duì)所述第二密文解密,得到所述加密字符串。

在另一個(gè)實(shí)施例中,所述方法還包括:

若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)不一致,則基于所述第一數(shù)據(jù)生成第三過(guò)濾算法,將所述第三過(guò)濾算法添加至所述區(qū)塊鏈,以使所述第二節(jié)點(diǎn)基于所述第三過(guò)濾算法對(duì)所述第二數(shù)據(jù)進(jìn)行過(guò)濾;

重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至所述第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與所述第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

根據(jù)本公開(kāi)實(shí)施例的第二方面,提供一種數(shù)據(jù)匹配方法,所述方法應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第二節(jié)點(diǎn),所述方法包括:

基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù);

從區(qū)塊鏈獲取第一過(guò)濾算法,基于所述第一過(guò)濾算法對(duì)所述第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),所述第一過(guò)濾算法由第一節(jié)點(diǎn)生成并添加至所述區(qū)塊鏈;

根據(jù)所述第二數(shù)據(jù)生成第二過(guò)濾算法,將所述第二過(guò)濾算法添加至所述區(qū)塊鏈,以使所述第一節(jié)點(diǎn)基于所述第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù);

若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)一致,則將所述第二數(shù)據(jù)作為所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)之間的交集數(shù)據(jù)。

在另一個(gè)實(shí)施例中,所述基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù)之前,所述方法還包括:

從所述區(qū)塊鏈獲取第一密文,所述第一密文由所述第一節(jié)點(diǎn)生成并添加至所述區(qū)塊鏈;

基于所述第二節(jié)點(diǎn)的私鑰對(duì)所述第一密文解密,得到所述第一隨機(jī)字符串;

將第二隨機(jī)字符串附加在所述第一隨機(jī)字符串的尾部,生成所述加密字符串;

基于所述第一節(jié)點(diǎn)的公鑰對(duì)所述加密字符串加密,得到第二密文;

將所述第二密文添加至所述區(qū)塊鏈,以使所述第一節(jié)點(diǎn)獲取所述第二密文。

在另一個(gè)實(shí)施例中,所述方法還包括:

若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)不一致,則在所述區(qū)塊鏈上獲取第三過(guò)濾算法,基于所述第三過(guò)濾算法對(duì)所述第二數(shù)據(jù)進(jìn)行過(guò)濾,所述第三過(guò)濾算法由所述第一節(jié)點(diǎn)基于所述第一數(shù)據(jù)生成并添加至所述區(qū)塊鏈;

重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至所述第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與所述第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

根據(jù)本公開(kāi)實(shí)施例的第三方面,提供一種數(shù)據(jù)匹配裝置,所述裝置應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn),所述裝置包括:

第一加密模塊,被配置為基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù);

添加模塊,被配置為根據(jù)所述第一加密數(shù)據(jù)生成第一過(guò)濾算法,將所述第一過(guò)濾算法添加至所述數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,以使第二節(jié)點(diǎn)基于所述第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),所述第二加密數(shù)據(jù)由所述第二節(jié)點(diǎn)基于所述加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密生成;

過(guò)濾模塊,被配置為在所述區(qū)塊鏈中獲取第二過(guò)濾算法,基于所述第二過(guò)濾算法對(duì)所述第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),所述第二過(guò)濾算法由所述第二節(jié)點(diǎn)根據(jù)所述第二數(shù)據(jù)生成,并由所述第二節(jié)點(diǎn)添加至所述區(qū)塊鏈;

確定模塊,被配置為若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)一致,則將所述第一數(shù)據(jù)作為所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)之間匹配的交集數(shù)據(jù)。

在另一個(gè)實(shí)施例中,所述裝置還包括:

第二加密模塊,被配置為基于所述第二節(jié)點(diǎn)的公鑰對(duì)第一隨機(jī)字符串加密,得到第一密文;

所述添加模塊,還被配置為將所述第一密文添加至所述區(qū)塊鏈,以使所述第二節(jié)點(diǎn)在獲取到所述第一密文中的第一隨機(jī)字符時(shí),基于第二隨機(jī)字符串和所述第一隨機(jī)字符串生成所述加密字符串,并對(duì)所述加密字符串加密,得到第二密文,將所述第二密文添加至所述區(qū)塊鏈;

解密模塊,被配置為從所述區(qū)塊鏈獲取所述第二密文,基于所述第一節(jié)點(diǎn)的私鑰,對(duì)所述第二密文解密,得到所述加密字符串。

在另一個(gè)實(shí)施例中,所述過(guò)濾模塊,還被配置為若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)不一致,則基于所述第一數(shù)據(jù)生成第三過(guò)濾算法,將所述第三過(guò)濾算法添加至所述區(qū)塊鏈,以使所述第二節(jié)點(diǎn)基于所述第三過(guò)濾算法對(duì)所述第二數(shù)據(jù)進(jìn)行過(guò)濾;重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至所述第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與所述第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

根據(jù)本公開(kāi)實(shí)施例的第四方面,提供一種數(shù)據(jù)匹配裝置,所述裝置應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第二節(jié)點(diǎn),所述裝置包括:

第一加密模塊,被配置為基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù);

過(guò)濾模塊,被配置為從區(qū)塊鏈獲取第一過(guò)濾算法,基于所述第一過(guò)濾算法對(duì)所述第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),所述第一過(guò)濾算法由第一節(jié)點(diǎn)生成并添加至所述區(qū)塊鏈;

添加模塊,被配置為根據(jù)所述第二數(shù)據(jù)生成第二過(guò)濾算法,將所述第二過(guò)濾算法添加至所述區(qū)塊鏈,以使所述第一節(jié)點(diǎn)基于所述第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù);

確定模塊,被配置為若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)一致,則將所述第二數(shù)據(jù)作為所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)之間的交集數(shù)據(jù)。

在另一個(gè)實(shí)施例中,所述裝置還包括:

獲取模塊,被配置為從所述區(qū)塊鏈獲取第一密文,所述第一密文由所述第一節(jié)點(diǎn)生成并添加至所述區(qū)塊鏈;

解密模塊,被配置為基于所述第二節(jié)點(diǎn)的私鑰對(duì)所述第一密文解密,得到所述第一隨機(jī)字符串;

生成模塊,被配置為將第二隨機(jī)字符串附加在所述第一隨機(jī)字符串的尾部,生成所述加密字符串;

第二加密模塊,被配置為基于所述第一節(jié)點(diǎn)的公鑰對(duì)所述加密字符串加密,得到第二密文;

所述添加模塊,還被配置為將所述第二密文添加至所述區(qū)塊鏈,以使所述第一節(jié)點(diǎn)獲取所述第二密文。

在另一個(gè)實(shí)施例中,所述過(guò)濾模塊,還被配置為若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)不一致,則在所述區(qū)塊鏈上獲取第三過(guò)濾算法,基于所述第三過(guò)濾算法對(duì)所述第二數(shù)據(jù)進(jìn)行過(guò)濾,所述第三過(guò)濾算法由所述第一節(jié)點(diǎn)基于所述第一數(shù)據(jù)生成并添加至所述區(qū)塊鏈;重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至所述第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與所述第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

根據(jù)本公開(kāi)實(shí)施例的第五方面,提供一種數(shù)據(jù)匹配裝置,所述裝置應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn),所述裝置包括:

處理器;

用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;

其中,所述處理器被配置為:基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù);根據(jù)所述第一加密數(shù)據(jù)生成第一過(guò)濾算法,將所述第一過(guò)濾算法添加至所述數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,以使第二節(jié)點(diǎn)基于所述第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),所述第二加密數(shù)據(jù)由所述第二節(jié)點(diǎn)基于所述加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密生成;在所述區(qū)塊鏈中獲取第二過(guò)濾算法,基于所述第二過(guò)濾算法對(duì)所述第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),所述第二過(guò)濾算法由所述第二節(jié)點(diǎn)根據(jù)所述第二數(shù)據(jù)生成,并由所述第二節(jié)點(diǎn)添加至所述區(qū)塊鏈;若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)一致,則將所述第一數(shù)據(jù)作為所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)之間匹配的交集數(shù)據(jù)。

根據(jù)本公開(kāi)實(shí)施例的第六方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有指令,所述指令被處理器執(zhí)行以完成上述的數(shù)據(jù)匹配方法。

根據(jù)本公開(kāi)實(shí)施例的第七方面,提供一種數(shù)據(jù)匹配裝置,所述裝置應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第二節(jié)點(diǎn),所述裝置包括:

處理器;

用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;

其中,所述處理器被配置為:基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù);從區(qū)塊鏈獲取第一過(guò)濾算法,基于所述第一過(guò)濾算法對(duì)所述第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),所述第一過(guò)濾算法由第一節(jié)點(diǎn)生成并添加至所述區(qū)塊鏈;根據(jù)所述第二數(shù)據(jù)生成第二過(guò)濾算法,將所述第二過(guò)濾算法添加至所述區(qū)塊鏈,以使所述第一節(jié)點(diǎn)基于所述第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù);若所述第一數(shù)據(jù)與所述第二數(shù)據(jù)一致,則將所述第二數(shù)據(jù)作為所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)之間的交集數(shù)據(jù)。

根據(jù)本公開(kāi)實(shí)施例的第八方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有指令,所述指令被處理器執(zhí)行以完成上述的數(shù)據(jù)匹配方法。

本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn)和第二節(jié)點(diǎn)基于加密字符串對(duì)各自的待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)和第二加密數(shù)據(jù),并由第一節(jié)點(diǎn)根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,第二節(jié)點(diǎn)在區(qū)塊鏈中獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù);隨后,第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈,由第一節(jié)點(diǎn)在區(qū)塊鏈上獲取第二過(guò)濾算法,并基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),使得在第一數(shù)據(jù)和第二數(shù)據(jù)一致時(shí)即可將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的交集數(shù)據(jù),第一節(jié)點(diǎn)和第二節(jié)點(diǎn)僅需公開(kāi)對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理后得到的加密數(shù)據(jù),無(wú)需公開(kāi)原待匹配數(shù)據(jù),提高了確定交集數(shù)據(jù)時(shí)的保密性,保證了數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上各個(gè)節(jié)點(diǎn)的平等性。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開(kāi)。

附圖說(shuō)明

此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。

圖1是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配方法的流程圖。

圖2是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配方法的流程圖。

圖3a是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配方法的流程圖。

圖3b是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配方法的流程圖。

圖4a是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置的框圖。

圖4b是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置的框圖。

圖5a是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置的框圖。

圖5b是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置的框圖。

圖6是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置600的框圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。

圖1是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配方法的流程圖,如圖1所示,該方法用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn),該方法包括以下步驟。

在步驟101中,基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)。

在步驟102中,根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,以使第二節(jié)點(diǎn)基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),第二加密數(shù)據(jù)由第二節(jié)點(diǎn)基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密生成。

在步驟103中,在區(qū)塊鏈中獲取第二過(guò)濾算法,基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),第二過(guò)濾算法由第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成,并由第二節(jié)點(diǎn)添加至區(qū)塊鏈。

在步驟104中,若第一數(shù)據(jù)與第二數(shù)據(jù)一致,則將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間匹配的交集數(shù)據(jù)。

本公開(kāi)實(shí)施例提供的方法,數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn)和第二節(jié)點(diǎn)基于加密字符串對(duì)各自的待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)和第二加密數(shù)據(jù),并由第一節(jié)點(diǎn)根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,第二節(jié)點(diǎn)在區(qū)塊鏈中獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù);隨后,第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈,由第一節(jié)點(diǎn)在區(qū)塊鏈上獲取第二過(guò)濾算法,并基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),使得在第一數(shù)據(jù)和第二數(shù)據(jù)一致時(shí)即可將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的交集數(shù)據(jù),第一節(jié)點(diǎn)和第二節(jié)點(diǎn)僅需公開(kāi)對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理后得到的加密數(shù)據(jù),無(wú)需公開(kāi)原待匹配數(shù)據(jù),提高了確定交集數(shù)據(jù)時(shí)的保密性,保證了數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上各個(gè)節(jié)點(diǎn)的平等性。

在另一個(gè)實(shí)施例中,基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)之前,方法還包括:

基于第二節(jié)點(diǎn)的公鑰對(duì)第一隨機(jī)字符串加密,得到第一密文;

將第一密文添加至區(qū)塊鏈,以使第二節(jié)點(diǎn)在獲取到第一密文中的第一隨機(jī)字符時(shí),基于第二隨機(jī)字符串和第一隨機(jī)字符串生成加密字符串,并對(duì)加密字符串加密,得到第二密文,將第二密文添加至區(qū)塊鏈;

從區(qū)塊鏈獲取第二密文,基于第一節(jié)點(diǎn)的私鑰,對(duì)第二密文解密,得到加密字符串。

在另一個(gè)實(shí)施例中,該方法還包括:

若第一數(shù)據(jù)與第二數(shù)據(jù)不一致,則基于第一數(shù)據(jù)生成第三過(guò)濾算法,將第三過(guò)濾算法添加至區(qū)塊鏈,以使第二節(jié)點(diǎn)基于第三過(guò)濾算法對(duì)第二數(shù)據(jù)進(jìn)行過(guò)濾;

重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本公開(kāi)的可選實(shí)施例,在此不再一一贅述。

圖2是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配方法的流程圖,如圖2所示,該方法用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第二節(jié)點(diǎn),該方法包括以下步驟。

在步驟201中,基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù)。

在步驟202中,從區(qū)塊鏈獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),第一過(guò)濾算法由第一節(jié)點(diǎn)生成并添加至區(qū)塊鏈。

在步驟203中,根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈,以使第一節(jié)點(diǎn)基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù)。

在步驟204中,若第一數(shù)據(jù)與第二數(shù)據(jù)一致,則將第二數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的交集數(shù)據(jù)。

本公開(kāi)實(shí)施例提供的方法,數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn)和第二節(jié)點(diǎn)基于加密字符串對(duì)各自的待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)和第二加密數(shù)據(jù),并由第一節(jié)點(diǎn)根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,第二節(jié)點(diǎn)在區(qū)塊鏈中獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù);隨后,第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈,由第一節(jié)點(diǎn)在區(qū)塊鏈上獲取第二過(guò)濾算法,并基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),使得在第一數(shù)據(jù)和第二數(shù)據(jù)一致時(shí)即可將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的交集數(shù)據(jù),第一節(jié)點(diǎn)和第二節(jié)點(diǎn)僅需公開(kāi)對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理后得到的加密數(shù)據(jù),無(wú)需公開(kāi)原待匹配數(shù)據(jù),提高了確定交集數(shù)據(jù)時(shí)的保密性,保證了數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上各個(gè)節(jié)點(diǎn)的平等性。

在另一個(gè)實(shí)施例中,基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù)之前,方法還包括:

從區(qū)塊鏈獲取第一密文,第一密文由第一節(jié)點(diǎn)生成并添加至區(qū)塊鏈;

基于第二節(jié)點(diǎn)的私鑰對(duì)第一密文解密,得到第一隨機(jī)字符串;

將第二隨機(jī)字符串附加在第一隨機(jī)字符串的尾部,生成加密字符串;

基于第一節(jié)點(diǎn)的公鑰對(duì)加密字符串加密,得到第二密文;

將第二密文添加至區(qū)塊鏈,以使第一節(jié)點(diǎn)獲取第二密文。

在另一個(gè)實(shí)施例中,該方法還包括:

若第一數(shù)據(jù)與第二數(shù)據(jù)不一致,則在區(qū)塊鏈上獲取第三過(guò)濾算法,基于第三過(guò)濾算法對(duì)第二數(shù)據(jù)進(jìn)行過(guò)濾,第三過(guò)濾算法由第一節(jié)點(diǎn)基于第一數(shù)據(jù)生成并添加至區(qū)塊鏈;

重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本公開(kāi)的可選實(shí)施例,在此不再一一贅述。

圖3a是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配方法的流程圖,如圖3b所示,該方法包括以下步驟。

在步驟301中,第一節(jié)點(diǎn)基于第二節(jié)點(diǎn)的公鑰對(duì)第一隨機(jī)字符串加密,得到第一密文,并將第一密文添加至區(qū)塊鏈。

在本公開(kāi)實(shí)施例中,第一節(jié)點(diǎn)和第二節(jié)點(diǎn)均為數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的節(jié)點(diǎn)。數(shù)據(jù)共享系統(tǒng)是指用于進(jìn)行節(jié)點(diǎn)與節(jié)點(diǎn)之間數(shù)據(jù)共享,確定節(jié)點(diǎn)與節(jié)點(diǎn)交集數(shù)據(jù)的系統(tǒng)。對(duì)于數(shù)據(jù)共享系統(tǒng)中的每個(gè)節(jié)點(diǎn),均具有與其對(duì)應(yīng)的公鑰和私鑰,數(shù)據(jù)共享系統(tǒng)中每個(gè)節(jié)點(diǎn)的公鑰均被數(shù)據(jù)共享系統(tǒng)中的其他節(jié)點(diǎn)獲知,而每個(gè)節(jié)點(diǎn)的私鑰只有其自身知曉。數(shù)據(jù)共享系統(tǒng)中的每個(gè)節(jié)點(diǎn)均存儲(chǔ)一條相同的區(qū)塊鏈,也即第一節(jié)點(diǎn)和第二節(jié)點(diǎn)上均存儲(chǔ)有一條相同的區(qū)塊鏈,區(qū)塊鏈由多個(gè)區(qū)塊組成,每個(gè)區(qū)塊均存儲(chǔ)有不同的數(shù)據(jù),區(qū)塊鏈上的全部區(qū)塊存儲(chǔ)的數(shù)據(jù)組成了區(qū)塊鏈所在節(jié)點(diǎn)的共享數(shù)據(jù)。當(dāng)數(shù)據(jù)共享系統(tǒng)中的某一節(jié)點(diǎn)向區(qū)塊鏈中添加諸如密文、過(guò)濾算法等數(shù)據(jù)時(shí),數(shù)據(jù)共享系統(tǒng)中全部節(jié)點(diǎn)的區(qū)塊鏈中均會(huì)新增一個(gè)區(qū)塊,也即第一節(jié)點(diǎn)和第二節(jié)點(diǎn)中存儲(chǔ)的區(qū)塊鏈均會(huì)新增一個(gè)區(qū)塊,保證數(shù)據(jù)共享中的各個(gè)節(jié)點(diǎn)區(qū)塊鏈的數(shù)據(jù)均保持一致。

發(fā)明人認(rèn)識(shí)到,數(shù)據(jù)共享系統(tǒng)中的節(jié)點(diǎn)在確定交集數(shù)據(jù)時(shí),如果通過(guò)共享待匹配數(shù)據(jù)實(shí)現(xiàn),則待匹配數(shù)據(jù)的保密性不高,很可能會(huì)將某一節(jié)點(diǎn)的待匹配數(shù)據(jù)泄露,因此,可以通過(guò)對(duì)節(jié)點(diǎn)上待匹配數(shù)據(jù)進(jìn)行加密處理,得到加密數(shù)據(jù),并基于加密數(shù)據(jù)生成過(guò)濾算法,使得各個(gè)節(jié)點(diǎn)可以基于過(guò)濾算法對(duì)待匹配數(shù)據(jù)進(jìn)行過(guò)濾,確定交集數(shù)據(jù),無(wú)需將待匹配數(shù)據(jù)進(jìn)行公開(kāi)。這樣,便需要各個(gè)節(jié)點(diǎn)基于同一個(gè)標(biāo)準(zhǔn)對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理,這個(gè)標(biāo)準(zhǔn)即為加密字符串。在實(shí)際應(yīng)用中,該加密字符串可以為密碼學(xué)中的鹽,鹽的實(shí)質(zhì)為特定的字符串,這樣,節(jié)點(diǎn)在基于加密字符串對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理時(shí),可以先對(duì)待匹配數(shù)據(jù)做諸如md5(message-digestalgorithm5,信息摘要算法5)的散列處理,并將加密字符串插入至散列處理后的待匹配數(shù)據(jù)的預(yù)設(shè)位置,得到加密數(shù)據(jù)。需要說(shuō)明的是,在本公開(kāi)實(shí)施例中,各個(gè)節(jié)點(diǎn)對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理時(shí)使用的加密字符串可為上述的鹽,為了使加密字符串由待進(jìn)行數(shù)據(jù)匹配的節(jié)點(diǎn)共同生成,可為待進(jìn)行數(shù)據(jù)匹配的節(jié)點(diǎn)分配與其對(duì)應(yīng)的隨機(jī)字符串,使得加密字符串由待進(jìn)行數(shù)據(jù)匹配的節(jié)點(diǎn)的隨機(jī)字符串組成,保證在進(jìn)行數(shù)據(jù)匹配時(shí)對(duì)節(jié)點(diǎn)的公平性。另外,為了便于說(shuō)明,在本公開(kāi)實(shí)施例中,以第一節(jié)點(diǎn)和第二節(jié)點(diǎn)進(jìn)行數(shù)據(jù)匹配為例進(jìn)行說(shuō)明,其中,第一節(jié)點(diǎn)分配到的隨機(jī)字符串為第一隨機(jī)字符串,第二節(jié)點(diǎn)分配到的隨機(jī)字符串為第二隨機(jī)字符串。

由于在同一時(shí)間可能存在多組需要生成加密字符串的節(jié)點(diǎn),為了避免在生成加密字符串時(shí)發(fā)生錯(cuò)誤,因此,第一節(jié)點(diǎn)在將自身的第一隨機(jī)字符串共享給第二節(jié)點(diǎn)時(shí),需要基于第二節(jié)點(diǎn)的公鑰對(duì)第一隨機(jī)字符串進(jìn)行加密,生成第一密文并將第一密文添加至區(qū)塊鏈,由于第二節(jié)點(diǎn)的私鑰僅其自身獲知,因此,第一節(jié)點(diǎn)添加至區(qū)塊鏈的第一密文只有第二節(jié)點(diǎn)可以進(jìn)行解密,避免發(fā)生錯(cuò)誤。

在步驟302中,第二節(jié)點(diǎn)從區(qū)塊鏈獲取第一密文,基于第二節(jié)點(diǎn)的私鑰對(duì)第一密文解密,得到第一隨機(jī)字符串,并將第二隨機(jī)字符串附加在第一隨機(jī)字符串的尾部,生成加密字符串。

在本公開(kāi)實(shí)施例中,由于第一密文基于第二節(jié)點(diǎn)的公鑰進(jìn)行加密,因此,第二節(jié)點(diǎn)在獲取到第一密文后,便可以基于第二節(jié)點(diǎn)的私鑰對(duì)密文進(jìn)行解密,從而得到第一節(jié)點(diǎn)的第一隨機(jī)字符串。第二節(jié)點(diǎn)在得到第一節(jié)點(diǎn)的第一隨機(jī)字符串后,便可以基于第一隨機(jī)字符串和自身的第二隨機(jī)字符串生成加密字符串,以便后續(xù)基于加密字符串對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理。一般來(lái)說(shuō),第二節(jié)點(diǎn)在基于第一隨機(jī)字符串和第二隨機(jī)字符串生成加密字符串時(shí),可以將第二隨機(jī)字符串附加在第一隨機(jī)字符串的尾部,也可將第二隨機(jī)字符串附加在第一隨機(jī)字符串的頭部,本公開(kāi)實(shí)施例對(duì)此不進(jìn)行具體限定。

在步驟303中,第二節(jié)點(diǎn)基于第一節(jié)點(diǎn)的公鑰對(duì)加密字符串加密,得到第二密文,并將第二密文添加至區(qū)塊鏈。

在本公開(kāi)實(shí)施例中,為了避免其他節(jié)點(diǎn)獲取區(qū)塊鏈中的加密字符串發(fā)生錯(cuò)誤,第二節(jié)點(diǎn)在生成加密字符串后,可基于第一節(jié)點(diǎn)的公鑰對(duì)加密字符串進(jìn)行加密,得到第二密文,將第二密文添加至區(qū)塊鏈,以便第一節(jié)點(diǎn)在區(qū)塊鏈中獲取第二密文,并對(duì)第二密文進(jìn)行解密。

在步驟304中,第一節(jié)點(diǎn)從區(qū)塊鏈上獲取第二密文,基于第一節(jié)點(diǎn)的私鑰對(duì)第二密文解密,得到加密字符串,基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)。

在本公開(kāi)實(shí)施例中,當(dāng)?shù)诙?jié)點(diǎn)將第二密文添加至區(qū)塊鏈后,由于每個(gè)節(jié)點(diǎn)的區(qū)塊鏈上的數(shù)據(jù)均保持一致,則第一節(jié)點(diǎn)的區(qū)塊鏈上也會(huì)存在第二密文,這樣,第一節(jié)點(diǎn)便可以在區(qū)塊鏈上獲取第二密文,并對(duì)第二密文解密,得到加密字符串。

第一待匹配數(shù)據(jù)為第一節(jié)點(diǎn)上將要與第二節(jié)點(diǎn)上的數(shù)據(jù)進(jìn)行匹配,以便確定交集數(shù)據(jù)的數(shù)據(jù)。第一節(jié)點(diǎn)在得到加密字符串后,可使用加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù),以便后續(xù)基于第一加密數(shù)據(jù)生成第一過(guò)濾算法,使得第二節(jié)點(diǎn)可以基于第一過(guò)濾算法對(duì)數(shù)據(jù)進(jìn)行過(guò)濾。

需要說(shuō)明的是,上述基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密的過(guò)程可以是基于鹽對(duì)第一待匹配數(shù)據(jù)進(jìn)行散列計(jì)算以得到散列數(shù)據(jù)的過(guò)程,該散列計(jì)算可以是哈希算法的一種。當(dāng)然,除了上述的加密算法以外,還可以采用其他類(lèi)型的加密算法,如加擾等加密處理。對(duì)于第二待匹配數(shù)據(jù),可以采用相同的加密算法。

在步驟305中,第一節(jié)點(diǎn)根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈。

在本公開(kāi)實(shí)施例中,第一節(jié)點(diǎn)在得到第一加密數(shù)據(jù)后,便可以基于第一加密數(shù)據(jù)生成第一過(guò)濾算法,并將第一過(guò)濾算法添加至區(qū)塊鏈中,以便第二節(jié)點(diǎn)獲取第一過(guò)濾算法,并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾。其中,第一過(guò)濾算法可以提供為一個(gè)過(guò)濾器,具體可為bloomfilter(布隆過(guò)濾器),第一節(jié)點(diǎn)在將第一過(guò)濾算法添加至區(qū)塊鏈時(shí),為了提高保密性,可基于第二節(jié)點(diǎn)的公鑰對(duì)第一過(guò)濾算法加密。在實(shí)際應(yīng)用的過(guò)程中,為了簡(jiǎn)化流程,也可不進(jìn)行加密處理,直接將第一過(guò)濾算法添加至區(qū)塊鏈中,本公開(kāi)對(duì)此不進(jìn)行具體限定。

在步驟306中,第二節(jié)點(diǎn)基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù)。

在本公開(kāi)實(shí)施例中,第二節(jié)點(diǎn)在生成加密字符串后,即可基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù)。其中,第二待匹配數(shù)據(jù)為第二節(jié)點(diǎn)中將要與第一節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行匹配以便確定交集數(shù)據(jù)的數(shù)據(jù)。

需要說(shuō)明的是,在實(shí)際應(yīng)用中,步驟306中的內(nèi)容可以在步驟303執(zhí)行完成生成加密字符串后執(zhí)行,也可在第一節(jié)點(diǎn)執(zhí)行步驟304至步驟305生成第一過(guò)濾算法的過(guò)程中執(zhí)行,也可在第一節(jié)點(diǎn)執(zhí)行步驟305生成第一過(guò)濾算法后執(zhí)行,本公開(kāi)對(duì)第二節(jié)點(diǎn)生成第二加密數(shù)據(jù)的時(shí)機(jī)不進(jìn)行具體限定。

在步驟307中,第二節(jié)點(diǎn)從區(qū)塊鏈獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù)。

在本公開(kāi)實(shí)施例中,當(dāng)?shù)谝还?jié)點(diǎn)將第一過(guò)濾算法添加至區(qū)塊鏈后,由于每個(gè)節(jié)點(diǎn)的區(qū)塊鏈上的數(shù)據(jù)均保持一致,則第二節(jié)點(diǎn)的區(qū)塊鏈上也會(huì)存在第一過(guò)濾算法,這樣,第二節(jié)點(diǎn)可從區(qū)塊鏈上獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù)。

其中,在基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾時(shí),第一過(guò)濾算法可將第二加密數(shù)據(jù)中與第一加密數(shù)據(jù)不匹配的數(shù)據(jù)過(guò)濾掉,將當(dāng)前確定的第二加密數(shù)據(jù)中可能與第一加密數(shù)據(jù)匹配的數(shù)據(jù)作為第二數(shù)據(jù)。例如,若當(dāng)前第二加密數(shù)據(jù)中包括0、1、2、3、4、5,第二節(jié)點(diǎn)在基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾后,確定3為與第一加密數(shù)據(jù)不匹配的數(shù)據(jù),則將3過(guò)濾掉,將0、1、2、4、5作為第二數(shù)據(jù)。

需要說(shuō)明的是,若第二節(jié)點(diǎn)從區(qū)塊鏈上獲取的第一過(guò)濾算法為加密的過(guò)濾算法,則需要基于第二節(jié)點(diǎn)的私鑰對(duì)加密的過(guò)濾算法進(jìn)行解密,得到第一過(guò)濾算法,再對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾。

在步驟308中,第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈。

在本公開(kāi)實(shí)施例中,第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法的過(guò)程與第一節(jié)點(diǎn)生成第一過(guò)濾算法的過(guò)程一致,此處不再進(jìn)行贅述。

需要說(shuō)明的是,第二節(jié)點(diǎn)在將第二過(guò)濾算法添加至區(qū)塊鏈時(shí),為了提高保密性,可基于第一節(jié)點(diǎn)的公鑰對(duì)第二過(guò)濾算法加密。在實(shí)際應(yīng)用的過(guò)程中,為了簡(jiǎn)化流程,也可不進(jìn)行加密處理,直接將第二過(guò)濾算法添加至區(qū)塊鏈中,本公開(kāi)對(duì)此不進(jìn)行具體限定。

在步驟309中,第一節(jié)點(diǎn)在區(qū)塊鏈中獲取第二過(guò)濾算法,基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù)。

在本公開(kāi)實(shí)施例中,當(dāng)?shù)诙?jié)點(diǎn)將第二過(guò)濾算法添加至區(qū)塊鏈后,由于每個(gè)節(jié)點(diǎn)的區(qū)塊鏈上的數(shù)據(jù)均保持一致,則第一節(jié)點(diǎn)的區(qū)塊鏈上也會(huì)存在第二過(guò)濾算法,這樣,第一節(jié)點(diǎn)可從區(qū)塊鏈上獲取第二過(guò)濾算法,基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù)。其中,第一節(jié)點(diǎn)在基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾得到第一數(shù)據(jù)的過(guò)程與上述步驟307中所示的第二節(jié)點(diǎn)得到第二數(shù)據(jù)的過(guò)程一致,此處不再進(jìn)行贅述。

需要說(shuō)明的是,若第一節(jié)點(diǎn)從區(qū)塊鏈上獲取的第二過(guò)濾算法為加密的過(guò)濾算法,則需要基于第一節(jié)點(diǎn)的私鑰對(duì)加密的過(guò)濾算法進(jìn)行解密,得到第二過(guò)濾算法,再對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾。

在步驟310中,若第一數(shù)據(jù)與第二數(shù)據(jù)一致,則第一節(jié)點(diǎn)將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間匹配的交集數(shù)據(jù)。

在本公開(kāi)實(shí)施例中,若第一數(shù)據(jù)與第二數(shù)據(jù)一致,則說(shuō)明第一數(shù)據(jù)和第二數(shù)據(jù)即為第一節(jié)點(diǎn)與第二節(jié)點(diǎn)之間的交集數(shù)據(jù)。其中,在確定第一數(shù)據(jù)和第二數(shù)據(jù)是否一致時(shí),可由第一節(jié)點(diǎn)或第二節(jié)點(diǎn)執(zhí)行,也可由第一節(jié)點(diǎn)和第二節(jié)點(diǎn)同時(shí)執(zhí)行。這樣,若由第一節(jié)點(diǎn)確定第一數(shù)據(jù)和第二數(shù)據(jù)是否一致,則可將第一數(shù)據(jù)作為交集數(shù)據(jù),并由第一節(jié)點(diǎn)將交集數(shù)據(jù)分享給第二節(jié)點(diǎn);若由第二節(jié)點(diǎn)確定第一數(shù)據(jù)和第二數(shù)據(jù)是否一致,則可將第二數(shù)據(jù)作為交集數(shù)據(jù),并由第二節(jié)點(diǎn)將交集數(shù)據(jù)分享給第一節(jié)點(diǎn)。

需要說(shuō)明的是,若第一數(shù)據(jù)與第二數(shù)據(jù)不一致,則表示當(dāng)前還未確定第一節(jié)點(diǎn)與第二節(jié)點(diǎn)之間的交集數(shù)據(jù),需要第一節(jié)點(diǎn)繼續(xù)基于第一數(shù)據(jù)生成第三過(guò)濾算法,將第三過(guò)濾算法添加至區(qū)塊鏈,以使第二節(jié)點(diǎn)基于第三過(guò)濾算法對(duì)第二數(shù)據(jù)進(jìn)行過(guò)濾,并重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致,確定第一節(jié)點(diǎn)與第二節(jié)點(diǎn)之間的交集數(shù)據(jù)為止。

在實(shí)際應(yīng)用的過(guò)程中,可以通過(guò)執(zhí)行圖3b中所示的流程確定第一節(jié)點(diǎn)與第二節(jié)點(diǎn)之間的交集數(shù)據(jù):

參見(jiàn)圖3b,第一節(jié)點(diǎn)基于第二節(jié)點(diǎn)的公鑰對(duì)第一隨機(jī)字符串加密,生成第一密文,將第一密文添加至區(qū)塊鏈;第二節(jié)點(diǎn)在區(qū)塊鏈上獲取第一密文,對(duì)第一密文解密,得到第一隨機(jī)字符串,并基于第一隨機(jī)字符串和第二隨機(jī)字符串生成加密字符串,用第一節(jié)點(diǎn)的公鑰對(duì)加密字符串加密,生成第二密文,將第二密文添加至區(qū)塊鏈;第一節(jié)點(diǎn)在區(qū)塊鏈上獲取第二密文,對(duì)第二密文解密,得到加密字符串,基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù),并根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至區(qū)塊鏈;此時(shí),第二節(jié)點(diǎn)基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,在生成第二加密數(shù)據(jù)后,便可在區(qū)塊鏈上獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,生成第二數(shù)據(jù),并由第一節(jié)點(diǎn)和第二節(jié)點(diǎn)分別判斷第一數(shù)據(jù)與第二數(shù)據(jù)是否一致,若確定第一數(shù)據(jù)與第二數(shù)據(jù)一致,則確定第一數(shù)據(jù)和第二數(shù)據(jù)均為交集數(shù)據(jù),完成當(dāng)前流程;若確定第一數(shù)據(jù)與第二數(shù)據(jù)不一致,則需要繼續(xù)執(zhí)行生成過(guò)濾算法對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至第一節(jié)點(diǎn)過(guò)濾后得到的數(shù)據(jù)與第二節(jié)點(diǎn)過(guò)濾后得到的數(shù)據(jù)一致。一般來(lái)說(shuō),需要重復(fù)執(zhí)行5次或6次生成過(guò)濾算法對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程才可確定第一節(jié)點(diǎn)與第二節(jié)點(diǎn)之間的交集數(shù)據(jù)。

本公開(kāi)實(shí)施例提供的方法,數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn)和第二節(jié)點(diǎn)基于加密字符串對(duì)各自的待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)和第二加密數(shù)據(jù),并由第一節(jié)點(diǎn)根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,第二節(jié)點(diǎn)在區(qū)塊鏈中獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù);隨后,第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈,由第一節(jié)點(diǎn)在區(qū)塊鏈上獲取第二過(guò)濾算法,并基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),使得在第一數(shù)據(jù)和第二數(shù)據(jù)一致時(shí)即可將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的交集數(shù)據(jù),第一節(jié)點(diǎn)和第二節(jié)點(diǎn)僅需公開(kāi)對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理后得到的加密數(shù)據(jù),無(wú)需公開(kāi)原待匹配數(shù)據(jù),提高了確定交集數(shù)據(jù)時(shí)的保密性,保證了數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上各個(gè)節(jié)點(diǎn)的平等性。

圖4a是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置的框圖。參照?qǐng)D4a,該裝置應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn),包括第一加密模塊401,添加模塊402,過(guò)濾模塊403和確定模塊404。

該第一加密模塊401,被配置為基于加密字符串對(duì)第一待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù);

該添加模塊402,被配置為根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,以使第二節(jié)點(diǎn)基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),第二加密數(shù)據(jù)由第二節(jié)點(diǎn)基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密生成;

該過(guò)濾模塊403,被配置為在區(qū)塊鏈中獲取第二過(guò)濾算法,基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),第二過(guò)濾算法由第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成,并由第二節(jié)點(diǎn)添加至區(qū)塊鏈;

該確定模塊404,被配置為若第一數(shù)據(jù)與第二數(shù)據(jù)一致,則將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間匹配的交集數(shù)據(jù)。

本公開(kāi)實(shí)施例提供的裝置,數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第一節(jié)點(diǎn)和第二節(jié)點(diǎn)基于加密字符串對(duì)各自的待匹配數(shù)據(jù)進(jìn)行加密,生成第一加密數(shù)據(jù)和第二加密數(shù)據(jù),并由第一節(jié)點(diǎn)根據(jù)第一加密數(shù)據(jù)生成第一過(guò)濾算法,將第一過(guò)濾算法添加至數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈,第二節(jié)點(diǎn)在區(qū)塊鏈中獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù);隨后,第二節(jié)點(diǎn)根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈,由第一節(jié)點(diǎn)在區(qū)塊鏈上獲取第二過(guò)濾算法,并基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù),使得在第一數(shù)據(jù)和第二數(shù)據(jù)一致時(shí)即可將第一數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的交集數(shù)據(jù),第一節(jié)點(diǎn)和第二節(jié)點(diǎn)僅需公開(kāi)對(duì)待匹配數(shù)據(jù)進(jìn)行加密處理后得到的加密數(shù)據(jù),無(wú)需公開(kāi)原待匹配數(shù)據(jù),提高了確定交集數(shù)據(jù)時(shí)的保密性,保證了數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上各個(gè)節(jié)點(diǎn)的平等性。

在另一個(gè)實(shí)施例中,參見(jiàn)圖4b,該裝置還包括第二加密模塊405和解密模塊406。

該第二加密模塊405,被配置為基于第二節(jié)點(diǎn)的公鑰對(duì)第一隨機(jī)字符串加密,得到第一密文;

該添加模塊402,還被配置為將第一密文添加至區(qū)塊鏈,以使第二節(jié)點(diǎn)在獲取到第一密文中的第一隨機(jī)字符時(shí),基于第二隨機(jī)字符串和第一隨機(jī)字符串生成加密字符串,并對(duì)加密字符串加密,得到第二密文,將第二密文添加至區(qū)塊鏈;

該解密模塊406,被配置為從區(qū)塊鏈獲取第二密文,基于第一節(jié)點(diǎn)的私鑰,對(duì)第二密文解密,得到加密字符串。

在另一個(gè)實(shí)施例中,該過(guò)濾模塊403,還被配置為若第一數(shù)據(jù)與第二數(shù)據(jù)不一致,則基于第一數(shù)據(jù)生成第三過(guò)濾算法,將第三過(guò)濾算法添加至區(qū)塊鏈,以使第二節(jié)點(diǎn)基于第三過(guò)濾算法對(duì)第二數(shù)據(jù)進(jìn)行過(guò)濾;重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。

圖5a是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置的框圖。參照?qǐng)D5a,該裝置應(yīng)用于數(shù)據(jù)共享系統(tǒng)的區(qū)塊鏈上的第二節(jié)點(diǎn),包括第一加密模塊501,過(guò)濾模塊502,添加模塊503和確定模塊504。

該第一加密模塊501,被配置為基于加密字符串對(duì)第二待匹配數(shù)據(jù)進(jìn)行加密,生成第二加密數(shù)據(jù);

該過(guò)濾模塊502,被配置為從區(qū)塊鏈獲取第一過(guò)濾算法,基于第一過(guò)濾算法對(duì)第二加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第二數(shù)據(jù),第一過(guò)濾算法由第一節(jié)點(diǎn)生成并添加至區(qū)塊鏈;

該添加模塊503,被配置為根據(jù)第二數(shù)據(jù)生成第二過(guò)濾算法,將第二過(guò)濾算法添加至區(qū)塊鏈,以使第一節(jié)點(diǎn)基于第二過(guò)濾算法對(duì)第一加密數(shù)據(jù)進(jìn)行過(guò)濾,得到第一數(shù)據(jù);

該確定模塊504,被配置為若第一數(shù)據(jù)與第二數(shù)據(jù)一致,則將第二數(shù)據(jù)作為第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的交集數(shù)據(jù)。

在另一個(gè)實(shí)施例中,參見(jiàn)圖5b,該裝置還包括獲取模塊505,解密模塊506,生成模塊507和第二加密模塊508。

該獲取模塊505,被配置為從區(qū)塊鏈獲取第一密文,第一密文由第一節(jié)點(diǎn)生成并添加至區(qū)塊鏈;

該解密模塊506,被配置為基于第二節(jié)點(diǎn)的私鑰對(duì)第一密文解密,得到第一隨機(jī)字符串;

該生成模塊507,被配置為將第二隨機(jī)字符串附加在第一隨機(jī)字符串的尾部,生成加密字符串;

該第二加密模塊508,被配置為基于第一節(jié)點(diǎn)的公鑰對(duì)加密字符串加密,得到第二密文;

該添加模塊503,還被配置為將第二密文添加至區(qū)塊鏈,以使第一節(jié)點(diǎn)獲取第二密文。

在另一個(gè)實(shí)施例中,該過(guò)濾模塊502,還被配置為若第一數(shù)據(jù)與第二數(shù)據(jù)不一致,則在區(qū)塊鏈上獲取第三過(guò)濾算法,基于第三過(guò)濾算法對(duì)第二數(shù)據(jù)進(jìn)行過(guò)濾,第三過(guò)濾算法由第一節(jié)點(diǎn)基于第一數(shù)據(jù)生成并添加至區(qū)塊鏈;重復(fù)執(zhí)行上述生成過(guò)濾算法并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的過(guò)程,直至第一節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)與第二節(jié)點(diǎn)得到的過(guò)濾后的數(shù)據(jù)一致。

圖6是根據(jù)一示例性實(shí)施例示出的一種數(shù)據(jù)匹配裝置600的框圖。例如,裝置600可以被提供為一服務(wù)器。參照?qǐng)D6,裝置600包括處理組件622,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器632所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件622的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器632中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件622被配置為執(zhí)行指令,以執(zhí)行上述數(shù)據(jù)匹配方法。

裝置600還可以包括一個(gè)電源組件626被配置為執(zhí)行裝置600的電源管理,一個(gè)有線(xiàn)或無(wú)線(xiàn)網(wǎng)絡(luò)接口650被配置為將裝置600連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(i/o)接口658。裝置600可以操作基于存儲(chǔ)在存儲(chǔ)器632的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類(lèi)似。

一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有指令,該指令被處理器執(zhí)行以完成上述的數(shù)據(jù)匹配方法。

一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)可執(zhí)行指令,所述處理器執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí)實(shí)現(xiàn)上述的數(shù)據(jù)匹配方法。

本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開(kāi)未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。

應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1