二維碼生成和驗(yàn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種二維碼生成和驗(yàn)證方法。
【背景技術(shù)】
[0002]隨著二維碼技術(shù)的發(fā)展,二維碼廣泛的應(yīng)用在信息獲取、會(huì)員管理、廣告推送、數(shù)據(jù)驗(yàn)證等領(lǐng)域。現(xiàn)有技術(shù)應(yīng)用二維碼時(shí),一般使用固定的二維碼圖片;然而,固定的二維碼圖片易被復(fù)制和傳播,安全性較差。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種二維碼生成和驗(yàn)證方法,能夠提高安全性。
[0004]本發(fā)明解決技術(shù)問(wèn)題采用如下技術(shù)方案:一種二維碼生成方法,包括:S10、接收到用戶(hù)輸入的數(shù)據(jù)驗(yàn)證指示時(shí),根據(jù)所述數(shù)據(jù)驗(yàn)證指示獲取對(duì)應(yīng)的驗(yàn)證數(shù)據(jù);S20、獲取接收所述數(shù)據(jù)驗(yàn)證指示的接收時(shí)刻并以O(shè)為計(jì)時(shí)起點(diǎn)開(kāi)始計(jì)時(shí);S30、根據(jù)預(yù)設(shè)時(shí)鑰、私鑰和公鑰對(duì)所述當(dāng)前時(shí)刻和所述驗(yàn)證數(shù)據(jù)進(jìn)行加密,得到加密數(shù)據(jù);所述公鑰與所述時(shí)鑰和私鑰對(duì)應(yīng);S40、生成所述加密數(shù)據(jù)對(duì)應(yīng)的二維碼并顯示,使用戶(hù)根據(jù)所述二維碼進(jìn)行驗(yàn)證;S50、當(dāng)所述計(jì)時(shí)的時(shí)間達(dá)到預(yù)設(shè)刷新周期時(shí),更新所述驗(yàn)證數(shù)據(jù),并使用更新后的驗(yàn)證數(shù)據(jù)執(zhí)行所述S20至S50。
[0005]可選的,本發(fā)明實(shí)施例提供的二維碼生成方法,還包括:S60、接收用戶(hù)輸入的刷新周期更改指示,根據(jù)所述刷新周期更改指示更改所述刷新周期。
[0006]可選的,本發(fā)明實(shí)施例提供的二維碼生成方法中,所述S10,包括:S101、根據(jù)所述數(shù)據(jù)驗(yàn)證指示獲取具體內(nèi)容;S102、獲取所述具體內(nèi)容對(duì)應(yīng)的內(nèi)容標(biāo)記;S103、獲取包括所述具體內(nèi)容和內(nèi)容標(biāo)記的驗(yàn)證數(shù)據(jù)。
[0007]可選的,本發(fā)明實(shí)施例提供的二維碼生成方法,所述數(shù)據(jù)驗(yàn)證指示為景區(qū)電子票券驗(yàn)證指示時(shí),所述步驟101包括:根據(jù)所述數(shù)據(jù)驗(yàn)證指示獲取包括景區(qū)名稱(chēng)、景區(qū)門(mén)票類(lèi)型、門(mén)票數(shù)量、門(mén)票金額、門(mén)票號(hào)碼和門(mén)票經(jīng)銷(xiāo)商中一種或多種的具體內(nèi)容。
[0008]可選的,本發(fā)明實(shí)施例提供的二維碼生成方法,所述S30,包括:S301、將所述時(shí)鑰乘以所述當(dāng)前時(shí)刻,得到時(shí)間加密數(shù)據(jù);S302、通過(guò)所述私鑰和公鑰從所述內(nèi)容標(biāo)記中提取預(yù)設(shè)位數(shù)的數(shù)據(jù),得到標(biāo)記加密數(shù)據(jù);S303、將所述私鑰分別加上所述具體內(nèi)容中一項(xiàng)或多項(xiàng)數(shù)據(jù)內(nèi)容,得到內(nèi)容加密數(shù)據(jù);S304、根據(jù)所述時(shí)間加密數(shù)據(jù)、標(biāo)記加密數(shù)據(jù)和所述內(nèi)容加密數(shù)據(jù)生成所述加密數(shù)據(jù)。
[0009]可選的,本發(fā)明實(shí)施例提供的二維碼生成方法,所述具體內(nèi)容中包括門(mén)票號(hào)碼時(shí),所述S30,還包括:S305、獲取所述門(mén)票號(hào)碼和所述公鑰的重疊值,得到號(hào)碼加密數(shù)據(jù);所述S303為,將所述私鑰分別加上所述具體內(nèi)容中除所述門(mén)票號(hào)碼外的一項(xiàng)或多項(xiàng)數(shù)據(jù)內(nèi)容,得到內(nèi)容加密數(shù)據(jù);所述S304具體為,根據(jù)所述時(shí)間加密數(shù)據(jù)、標(biāo)記加密數(shù)據(jù)、號(hào)碼加密數(shù)據(jù)和內(nèi)容加密數(shù)據(jù)生成加密數(shù)據(jù)。
[0010]本發(fā)明解決技術(shù)問(wèn)題采用如下技術(shù)方案:一種二維碼驗(yàn)證方法,包括:S10、獲取加密數(shù)據(jù)對(duì)應(yīng)的二維碼,所述加密數(shù)據(jù)為待驗(yàn)證數(shù)據(jù)經(jīng)預(yù)設(shè)時(shí)鑰和私鑰加密后得到的;S20、對(duì)所述二維碼進(jìn)行解析,得到所述加密數(shù)據(jù);S30、獲取當(dāng)前時(shí)刻和預(yù)設(shè)刷新周期;S40、根據(jù)所述當(dāng)前時(shí)刻、刷新周期和預(yù)設(shè)公鑰對(duì)所述加密數(shù)據(jù)進(jìn)行驗(yàn)證,得到驗(yàn)證結(jié)果;所述公鑰與所述私鑰和時(shí)鑰對(duì)應(yīng)。
[0011]可選的,本發(fā)明實(shí)施例提供的二維碼驗(yàn)證方法中,所述S40,包括:S401、根據(jù)預(yù)設(shè)公鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密,得到接收時(shí)刻和解密數(shù)據(jù);S402、判斷所述當(dāng)前時(shí)刻與接收時(shí)刻的時(shí)間差是否大于預(yù)設(shè)刷新周期,如果不大于,執(zhí)行S403 ;否則,得到驗(yàn)證失敗的驗(yàn)證結(jié)果;S403、判斷所述解密數(shù)據(jù)與所述接收時(shí)刻獲取的驗(yàn)證結(jié)果是否一致;如果一致,得到驗(yàn)證成功的驗(yàn)證結(jié)果;否則,得到驗(yàn)證失敗的驗(yàn)證結(jié)果。
[0012]本發(fā)明具有如下有益效果:在驗(yàn)證數(shù)據(jù)對(duì)應(yīng)的加密數(shù)據(jù)生成二維碼后,根據(jù)預(yù)設(shè)刷新周期對(duì)驗(yàn)證數(shù)據(jù)和二維碼進(jìn)行更新,從而防止二維碼被復(fù)制和傳播,進(jìn)而提高安全性。該方案解決了現(xiàn)有技術(shù)中固定的二維碼圖片易被復(fù)制和傳播,安全性較差的問(wèn)題。此外,該加密數(shù)據(jù)由預(yù)設(shè)私鑰和時(shí)鑰生成,能夠進(jìn)一步提高安全性。
【附圖說(shuō)明】
[0013]圖1為本發(fā)明實(shí)施例1提供的二維碼生成方法的流程圖一;
[0014]圖2為本發(fā)明實(shí)施例1提供的二維碼生成方法的流程圖二 ;
[0015]圖3為本發(fā)明實(shí)施例2提供的二維碼驗(yàn)證方法的流程圖。
【具體實(shí)施方式】
[0016]下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步闡述。
[0017]實(shí)施例1
[0018]如圖1所示,本實(shí)施例提供了一種二維碼生成方法,包括:
[0019]步驟101,接收到用戶(hù)輸入的數(shù)據(jù)驗(yàn)證指示時(shí),根據(jù)該數(shù)據(jù)驗(yàn)證指示獲取對(duì)應(yīng)的驗(yàn)證數(shù)據(jù)。
[0020]在本實(shí)施例中,用戶(hù)輸入的數(shù)據(jù)驗(yàn)證指示需要指示數(shù)據(jù)驗(yàn)證的具體類(lèi)型,如指示進(jìn)行支付驗(yàn)證、電子票券驗(yàn)證、門(mén)鎖驗(yàn)證等;以對(duì)景區(qū)的電子票券驗(yàn)證為例,該數(shù)據(jù)驗(yàn)證指示還可以指示數(shù)據(jù)驗(yàn)證的具體內(nèi)容,如景區(qū)名稱(chēng)、景區(qū)門(mén)票類(lèi)型等,以及該具體內(nèi)容對(duì)應(yīng)的內(nèi)容標(biāo)記。
[0021]在本實(shí)施例中,通過(guò)步驟101獲取對(duì)應(yīng)的驗(yàn)證數(shù)據(jù)的過(guò)程包括:根據(jù)該數(shù)據(jù)驗(yàn)證指示獲取具體內(nèi)容;獲取具體內(nèi)容對(duì)應(yīng)的內(nèi)容標(biāo)記;獲取包括該具體內(nèi)容和內(nèi)容標(biāo)記的驗(yàn)證數(shù)據(jù)。其中,根據(jù)驗(yàn)證指示獲取具體內(nèi)容,可以為從預(yù)先存儲(chǔ)的數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)驗(yàn)證指示對(duì)應(yīng)的具體內(nèi)容;獲取具體內(nèi)容對(duì)應(yīng)的內(nèi)容標(biāo)記,可以為根據(jù)預(yù)設(shè)標(biāo)記規(guī)則獲取該具體內(nèi)容對(duì)應(yīng)的內(nèi)容標(biāo)記。
[0022]特別的,當(dāng)步驟101中數(shù)據(jù)驗(yàn)證指示為景區(qū)電子票券驗(yàn)證指示時(shí),根據(jù)驗(yàn)證指示獲取的具體內(nèi)容包括:景區(qū)名稱(chēng)、景區(qū)門(mén)票類(lèi)型、門(mén)票數(shù)量、門(mén)票金額、門(mén)票號(hào)碼和門(mén)票經(jīng)銷(xiāo)商中一種或多種。
[0023]步驟102,獲取接收數(shù)據(jù)驗(yàn)證指示的接收時(shí)刻并以O(shè)為計(jì)時(shí)起點(diǎn)開(kāi)始計(jì)時(shí)。
[0024]步驟103,根據(jù)預(yù)設(shè)時(shí)鑰、私鑰和公鑰對(duì)當(dāng)前時(shí)刻和驗(yàn)證數(shù)據(jù)進(jìn)行加密,得到加密數(shù)據(jù)。
[0025]在本實(shí)施例中,通過(guò)步驟103得到加密數(shù)據(jù)的過(guò)程,包括:將所述時(shí)鑰乘以所述當(dāng)前時(shí)刻,得到時(shí)間加密數(shù)據(jù);通過(guò)所述私鑰和公鑰從所述內(nèi)容標(biāo)記中提取預(yù)設(shè)位數(shù)的數(shù)據(jù),得到標(biāo)記加密數(shù)據(jù);將所述私鑰分別加上所述具體內(nèi)容中一項(xiàng)或多項(xiàng)數(shù)據(jù)內(nèi)容,得到內(nèi)容加密數(shù)據(jù);根據(jù)所述時(shí)間加密數(shù)據(jù)、標(biāo)記加密數(shù)據(jù)和所述內(nèi)容加密數(shù)據(jù)生成所述加密數(shù)據(jù)。其中,得到標(biāo)記加密數(shù)據(jù)的過(guò)程包括先公鑰后私鑰,各取一位,共取四位,在此不再一一贅述。數(shù)據(jù)驗(yàn)證為景區(qū)電子票券驗(yàn)證指示時(shí),將私鑰分別加上具體內(nèi)容中一項(xiàng)或多項(xiàng)數(shù)據(jù)內(nèi)容,可以為將私鑰加上景區(qū)名稱(chēng),在此不作限制;當(dāng)私鑰或具體內(nèi)容中包含字母時(shí),可以直接按字母的先后順序排列,在此不再一一贅述。
[0026]此時(shí),當(dāng)具體內(nèi)容中包括門(mén)票號(hào)碼時(shí),通過(guò)步驟103得到加密數(shù)據(jù)的過(guò)程,包括:將所述時(shí)鑰乘以所述當(dāng)前時(shí)刻,得到時(shí)間加密數(shù)據(jù);通過(guò)所述私鑰和公鑰從所述內(nèi)容標(biāo)記中提取預(yù)設(shè)位數(shù)的數(shù)據(jù),得到標(biāo)記加密數(shù)據(jù);將所述私鑰分別加上所述具體內(nèi)容中一項(xiàng)或多項(xiàng)數(shù)據(jù)內(nèi)容,得到內(nèi)容加密數(shù)據(jù);獲取所述門(mén)票號(hào)碼和所述公鑰的重疊值,得到號(hào)碼加密數(shù)據(jù);根據(jù)所述時(shí)間加密數(shù)據(jù)、標(biāo)記加密數(shù)據(jù)、號(hào)碼加密數(shù)據(jù)和內(nèi)容加密數(shù)據(jù)生成加密數(shù)據(jù)。其中,步驟103中公鑰與時(shí)鑰和私鑰對(duì)應(yīng);獲取門(mén)票號(hào)碼和公鑰的重疊值的方式可以為,先上后下,由后至前,空用零補(bǔ)。
[0027]步驟104,生成加密數(shù)