本發(fā)明實(shí)施例涉及圖像處理技術(shù),尤其涉及一種QR碼編碼方法及裝置。
背景技術(shù):
快速響應(yīng)矩陣碼(Quick Response,簡(jiǎn)稱QR碼)是由日本Denso-Wave公司于1994年發(fā)明的用特定的幾何圖形按一定規(guī)律在平面上分布的黑白相間的圖形,是二維碼的一種。相對(duì)一維條形碼,QR碼具有識(shí)讀簡(jiǎn)單、數(shù)據(jù)容量大、抗損毀能力較強(qiáng)的特性。
可以將對(duì)一件物品或一件事項(xiàng)的描述信息,按照QR碼編碼標(biāo)準(zhǔn)進(jìn)行編碼,進(jìn)而根據(jù)碼塊規(guī)則制成QR碼圖,附著于物品表面或者在電子產(chǎn)品中呈現(xiàn)。通過攝像掃描設(shè)備可以快速讀取QR碼中存儲(chǔ)的信息??梢允褂肣R碼來對(duì)物品等進(jìn)行唯一標(biāo)識(shí),廣泛應(yīng)用于比如防偽溯源、跟蹤進(jìn)程等應(yīng)用中。
但是,現(xiàn)有技術(shù)中的QR碼中所存儲(chǔ)的信息,均可以被通用的QR碼解碼設(shè)備或解碼軟件識(shí)別獲取,這樣容易導(dǎo)致QR碼被偽造的風(fēng)險(xiǎn),而且對(duì)于QR碼的偽造并不容易識(shí)別,不便于對(duì)QR碼真?zhèn)蔚谋O(jiān)控。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種QR碼編碼方法及裝置,以有效識(shí)別QR碼的真?zhèn)巍?/p>
本發(fā)明實(shí)施例的一個(gè)方面是提供一種QR碼編碼方法,包括:
接收用戶發(fā)送的被編碼事物的待編碼信息,所述待編碼信息包括第一信息和第二信息;
對(duì)所述第一信息進(jìn)行非加密編碼,獲得第一QR碼塊;
對(duì)所述第二信息進(jìn)行加密編碼,獲得第二QR碼塊;
根據(jù)所述第一QR碼塊和所述第二QR碼塊確定糾錯(cuò)碼塊;
根據(jù)所述第一QR碼塊、所述第二QR碼塊和所述糾錯(cuò)碼塊得到目標(biāo)QR碼圖;
將所述目標(biāo)QR碼圖發(fā)送給所述用戶,以使所述用戶使用所述目標(biāo)QR碼圖標(biāo)識(shí)所述被編碼事物。
本發(fā)明實(shí)施例的另一個(gè)方面是提供一種QR碼編碼裝置,包括:
接收模塊,用于接收用戶發(fā)送的被編碼事物的待編碼信息,所述待編碼信息包括第一信息和第二信息;
編碼處理模塊,用于對(duì)所述第一信息進(jìn)行非加密編碼,獲得第一QR碼塊;
所述編碼處理模塊,還用于對(duì)所述第二信息進(jìn)行加密編碼,獲得第二QR碼塊;
所述編碼處理模塊,還用于根據(jù)所述第一QR碼塊和所述第二QR碼塊確定糾錯(cuò)碼塊;
所述編碼處理模塊,還用于根據(jù)所述第一QR碼塊、所述第二QR碼塊和所述糾錯(cuò)碼塊得到目標(biāo)QR碼圖;
發(fā)送模塊,用于將所述目標(biāo)QR碼圖發(fā)送給所述用戶,以使所述用戶使用所述目標(biāo)QR碼圖標(biāo)識(shí)所述被編碼事物。
本發(fā)明實(shí)施例提供的QR碼編碼方法及裝置,通過將待編碼信息區(qū)分為兩類不同的信息,即第一信息和第二信息,其中,第一信息是指可以被任何QR碼識(shí)別設(shè)備或軟件解碼的公開信息,第二信息是指只能被特定的授權(quán)QR碼識(shí)別設(shè)備或軟件解碼的隱藏信息。從而在QR碼編碼的過程中,對(duì)上述第一信息進(jìn)行非加密的標(biāo)準(zhǔn)QR碼編碼處理,對(duì)上述第二信息進(jìn)行加密的編碼處理,并且根據(jù)這兩種信息進(jìn)行計(jì)算得到糾錯(cuò)碼,從而,最終得到包含第一信息、第二信息以及糾錯(cuò)信息在內(nèi)的QR碼,使用該QR碼貼附于或通過電子顯示等方式來標(biāo)識(shí)被編碼事物,一方面,普通用戶能夠掃碼獲得該事物的公開信息,為跟蹤、防偽等應(yīng)用提供便利,另一方面,普通用戶不能夠解碼獲得隱藏信息,從而便于授權(quán)用戶對(duì)QR碼的真實(shí)可靠使用進(jìn)行監(jiān)控,防止虛假Q(mào)R碼所帶來的風(fēng)險(xiǎn)。
附圖說明
圖1為本發(fā)明實(shí)施例一提供的QR碼編碼方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的QR碼的構(gòu)造過程示意圖;
圖3為本發(fā)明實(shí)施例二提供的QR碼編碼方法的流程圖;
圖4為本發(fā)明實(shí)施例三提供的QR碼編碼裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
圖1為本發(fā)明實(shí)施例一提供的QR碼編碼方法的流程圖,該QR碼編碼方法可以由一QR碼編碼裝置來執(zhí)行。如圖1所示,該QR碼編碼方法包括如下步驟:
步驟101、接收用戶發(fā)送的被編碼事物的待編碼信息,所述待編碼信息包括第一信息和第二信息。
對(duì)于某事物比如某個(gè)產(chǎn)品、某件事等的相關(guān)描述信息可以被編碼為QR碼用于唯一標(biāo)識(shí)該事物。本實(shí)施例中,將對(duì)該事物的描述信息區(qū)分為兩類信息,即上述第一信息和第二信息。
其中,第一信息是指可以被任何QR碼識(shí)別設(shè)備或軟件解碼的公開信息,第二信息是指只能被特定的授權(quán)QR碼識(shí)別設(shè)備或軟件解碼的隱藏信息。
舉例來說,比如對(duì)于某物品來說,為防止假冒,生產(chǎn)廠家可以將防偽信息進(jìn)行QR編碼,以QR碼貼附于物品包裝盒上,使得消費(fèi)者通過掃描該QR碼來鏈接到驗(yàn)證網(wǎng)頁(yè),獲知物品的真假信息。比如生產(chǎn)廠家對(duì)該物品的待編碼信息包括生產(chǎn)廠家名稱、生產(chǎn)廠家地址、物品生產(chǎn)批號(hào)等公開信息,以及比如允許銷售地等隱藏信息。從而,普通消費(fèi)者通過該公開信息便可以獲知該物品的真假。假如該物品的允許銷售地為A,但是該物品卻在B地也進(jìn)行了銷售,則一種可能的情況是銷售者違規(guī)銷售,另一種可能的情況是出現(xiàn)了假冒該物品的物品,即盜用QR碼用于假冒物品上。對(duì)于這兩種可能的情況,可以利用上述隱藏信息來鑒別。比如生產(chǎn)廠商可以授權(quán)某些特定的檢查者一個(gè)專用的QR碼識(shí)別設(shè)備或軟件,稱為授權(quán)QR碼識(shí)別設(shè)備或識(shí)別軟件。該授權(quán)QR碼識(shí)別設(shè)備或識(shí)別軟件能夠解碼得到QR中的所有信息,包括公開的第一信息以及隱藏的第二信息。從而根據(jù)其解碼得到的隱藏信息,如果是在上述B地解碼得到的該隱藏信息,說明可能發(fā)生了上述兩種可能情況,從而能夠及時(shí)發(fā)現(xiàn)上述第二種可能情況即發(fā)現(xiàn)QR碼造假使用的情況。
為了保證上述效果的實(shí)現(xiàn),本實(shí)施例中是通過如下方式實(shí)現(xiàn)的:
步驟102、對(duì)所述第一信息進(jìn)行非加密編碼,獲得第一QR碼塊;對(duì)所述第二信息進(jìn)行加密編碼,獲得第二QR碼塊;根據(jù)所述第一QR碼塊和所述第 二QR碼塊確定糾錯(cuò)碼塊。
步驟103、根據(jù)所述第一QR碼塊、所述第二QR碼塊和所述糾錯(cuò)碼塊得到目標(biāo)QR碼圖。
對(duì)于能夠被任何人掃描解碼得到的公開信息即第一信息,采用非加密的標(biāo)準(zhǔn)QR編碼方式進(jìn)行編碼,得到第一QR碼塊。對(duì)作為隱藏信息的第二信息進(jìn)行加密編碼,獲得第二QR碼塊。根據(jù)第一QR碼塊和第二QR碼塊確定糾錯(cuò)碼塊。其中,第一QR碼塊和第二QR碼塊是指分別對(duì)第一信息、第二信息進(jìn)行上述編碼處理后得到的二進(jìn)制位流,糾錯(cuò)碼塊是指根據(jù)第一信息、第二信息分別對(duì)應(yīng)的二進(jìn)制位流進(jìn)行計(jì)算得到的糾錯(cuò)碼二進(jìn)制位流,其中,糾錯(cuò)碼的計(jì)算可以采用現(xiàn)有的多種糾錯(cuò)碼計(jì)算方式中的一種。其中,對(duì)第二信息的加密方式可以采用現(xiàn)有技術(shù)中的對(duì)信息進(jìn)行加密的算法實(shí)現(xiàn)。
具體來說,假設(shè)目標(biāo)QR碼圖中包括M個(gè)字節(jié),第一QR碼塊中包括N1個(gè)字節(jié),第二QR碼塊中包括N2個(gè)字節(jié),糾錯(cuò)碼塊中包括M-N1-N2個(gè)字節(jié)。其中,目標(biāo)QR碼圖的字節(jié)長(zhǎng)度以標(biāo)準(zhǔn)QR碼的長(zhǎng)度為限。每個(gè)字節(jié)包括8個(gè)二進(jìn)制位。
將所述N1個(gè)字節(jié)依次填充到所述M個(gè)字節(jié)的前端N1個(gè)字節(jié)中;將所述M-N1-N2個(gè)字節(jié)依次填充在所述N1個(gè)字節(jié)之后;將述N2個(gè)字節(jié)以字節(jié)為單位,按照從后向前的順序依次填充到所述M個(gè)字節(jié)的末端N2個(gè)字節(jié)中。
參照?qǐng)D2所示,將公開信息即第一信息按標(biāo)準(zhǔn)QR碼的信息轉(zhuǎn)化規(guī)則轉(zhuǎn)為二進(jìn)制位流,共得到N1字節(jié),并將其填充到整體二進(jìn)制位流(共M字節(jié))的前端。按將該二進(jìn)制位流的第1字節(jié)填到整體二進(jìn)制位流的第1字節(jié)的順序,依次填充至N1字節(jié)。
將隱藏信息即第二信息按非公開的加密規(guī)則轉(zhuǎn)為二進(jìn)制位流,共得到N2字節(jié),并將其填充到整體二進(jìn)制位流的末端。按將該二進(jìn)制位流的第1字節(jié)填到整體二進(jìn)制位流的第M字節(jié),該二進(jìn)制位流的第2字節(jié)填到整體二進(jìn)制位流的第M-1字節(jié),按逆序依次填充至M-N2+1字節(jié)。
根據(jù)第一信息對(duì)應(yīng)的二進(jìn)制位流和第二信息對(duì)應(yīng)的二進(jìn)制位流,計(jì)算得到糾錯(cuò)碼二進(jìn)制位流,共M-N1-N2字節(jié)。計(jì)算得到的糾錯(cuò)碼二進(jìn)制位流,應(yīng)該能使得本發(fā)明的整體二進(jìn)制位流包含于標(biāo)準(zhǔn)QR碼的二進(jìn)制位流集合內(nèi)。將糾錯(cuò)碼二進(jìn)制位流填充到整體二進(jìn)制位流的中段,按將糾錯(cuò)碼二進(jìn)制位流的 第1字節(jié)填到整體二進(jìn)制位流的第N1+1字節(jié),按順序填充至第M-N2字節(jié)。
進(jìn)而,采用標(biāo)準(zhǔn)QR碼的碼塊排布規(guī)則,對(duì)所述第一QR碼塊、所述第二QR碼塊和所述糾錯(cuò)碼塊進(jìn)行排布,得到所述目標(biāo)QR碼圖。具體來說,將整體二進(jìn)制位流按標(biāo)準(zhǔn)QR碼的碼塊排布規(guī)則制成QR碼圖。
步驟104、將所述目標(biāo)QR碼圖發(fā)送給所述用戶,以使所述用戶使用所述目標(biāo)QR碼圖標(biāo)識(shí)所述被編碼事物。
最終,將制成得到的目標(biāo)QR碼圖發(fā)送給用戶,以使該用戶使用該目標(biāo)QR碼圖標(biāo)識(shí)被編碼事物。
本實(shí)施例中,通過將待編碼信息區(qū)分為兩類不同的信息,即第一信息和第二信息,其中,第一信息是指可以被任何QR碼識(shí)別設(shè)備或軟件解碼的公開信息,第二信息是指只能被特定的授權(quán)QR碼識(shí)別設(shè)備或軟件解碼的隱藏信息。從而在QR碼編碼的過程中,對(duì)上述第一信息進(jìn)行非加密的標(biāo)準(zhǔn)QR碼編碼處理,對(duì)上述第二信息進(jìn)行加密的編碼處理,并且根據(jù)這兩種信息進(jìn)行計(jì)算得到糾錯(cuò)碼,從而,最終得到包含第一信息、第二信息以及糾錯(cuò)信息在內(nèi)的QR碼,使用該QR碼貼附于或通過電子顯示等方式來標(biāo)識(shí)被編碼事物,一方面,普通用戶能夠掃碼獲得該事物的公開信息,為跟蹤、防偽等應(yīng)用提供便利,另一方面,普通用戶不能夠解碼獲得隱藏信息,從而便于授權(quán)用戶對(duì)QR碼的真實(shí)可靠使用進(jìn)行監(jiān)控,防止虛假Q(mào)R碼所帶來的風(fēng)險(xiǎn)。
圖3為本發(fā)明實(shí)施例二提供的QR碼編碼方法的流程圖,在圖1所示實(shí)施例生成目標(biāo)QR碼圖的基礎(chǔ)上,如圖3所示,在該目標(biāo)QR碼圖的使用過程中,還可以包括如下情形:
步驟201、若所述目標(biāo)QR碼圖被通用QR碼識(shí)別設(shè)備或識(shí)別軟件掃描,則所述通用QR碼識(shí)別設(shè)備或識(shí)別軟件解碼所述目標(biāo)QR碼圖,獲得所述第一信息,所述通用QR碼識(shí)別設(shè)備或識(shí)別軟件中不包含用于解密所述第二信息的密鑰。
步驟202、若所述目標(biāo)QR碼圖被授權(quán)QR碼識(shí)別設(shè)備或識(shí)別軟件掃描,則所述授權(quán)QR碼識(shí)別設(shè)備或識(shí)別軟件解碼所述目標(biāo)QR碼圖,獲得所述第一信息和所述第二信息,所述授權(quán)QR碼識(shí)別設(shè)備或識(shí)別軟件中包含用于解密所述第二信息的密鑰。
對(duì)于普通用戶來說,其終端設(shè)備比如智能手機(jī)、平板電腦中一般都具有 QR碼識(shí)別功能,其可以通過終端設(shè)備來進(jìn)行上述目標(biāo)QR碼圖的識(shí)別,解碼獲得其中的公開信息。由于其終端設(shè)備所具有的QR碼識(shí)別功能一般只是針對(duì)現(xiàn)有的標(biāo)準(zhǔn)QR碼即不包含加密的隱藏信息的QR碼,因此,其不能解碼得到該隱藏信息,從而,避免了對(duì)目標(biāo)QR碼的假冒盜用,因?yàn)槠錈o法解碼得到其中的隱藏信息,從而無法完全地復(fù)制該目標(biāo)QR碼圖。由于盜用者僅能夠復(fù)制包含公開信息的部分QR碼,從而,當(dāng)具有授權(quán)QR碼識(shí)別設(shè)備或軟件的檢查者識(shí)別該復(fù)制的部分QR碼時(shí),由于其中不包含本應(yīng)具有的隱藏信息,能夠準(zhǔn)確判定QR碼的盜用情況。
圖4為本發(fā)明實(shí)施例三提供的QR碼編碼裝置的結(jié)構(gòu)示意圖,如圖4所示,該裝置包括:
接收模塊11,用于接收用戶發(fā)送的被編碼事物的待編碼信息,所述待編碼信息包括第一信息和第二信息;
編碼處理模塊12,用于對(duì)所述第一信息進(jìn)行非加密編碼,獲得第一QR碼塊;
所述編碼處理模塊12,還用于對(duì)所述第二信息進(jìn)行加密編碼,獲得第二QR碼塊;
所述編碼處理模塊12,還用于根據(jù)所述第一QR碼塊和所述第二QR碼塊確定糾錯(cuò)碼塊;
所述編碼處理模塊12,還用于根據(jù)所述第一QR碼塊、所述第二QR碼塊和所述糾錯(cuò)碼塊得到目標(biāo)QR碼圖;
發(fā)送模塊13,用于將所述目標(biāo)QR碼圖發(fā)送給所述用戶,以使所述用戶使用所述目標(biāo)QR碼圖標(biāo)識(shí)所述被編碼事物。
具體地,所述目標(biāo)QR碼圖中包括M個(gè)字節(jié),所述第一QR碼塊中包括N1個(gè)字節(jié),所述第二QR碼塊中包括N2個(gè)字節(jié),所述糾錯(cuò)碼塊中包括M-N1-N2個(gè)字節(jié);
所述編碼處理模塊12還用于:將所述N1個(gè)字節(jié)依次填充到所述M個(gè)字節(jié)的前端N1個(gè)字節(jié)中;將所述M-N1-N2個(gè)字節(jié)依次填充在所述N1個(gè)字節(jié)之后;將述N2個(gè)字節(jié)以字節(jié)為單位,按照從后向前的順序依次填充到所述M個(gè)字節(jié)的末端N2個(gè)字節(jié)中。
具體地,所述編碼處理模塊12用于:
采用標(biāo)準(zhǔn)QR碼的碼塊排布規(guī)則,對(duì)所述第一QR碼塊、所述第二QR碼塊和所述糾錯(cuò)碼塊進(jìn)行排布,得到所述目標(biāo)QR碼圖。
本實(shí)施例的QR碼編碼裝置可以用于執(zhí)行圖1或圖3所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。