本發(fā)明涉及二維碼技術(shù),尤其涉及一種基于多項式插值的商品防偽及抽獎方法。
背景技術(shù):
商家在投入了大量的人力物力后生產(chǎn)出商品,但流動在市場中時往往經(jīng)過仿造偽裝被頂替。不法分子通過模仿商品內(nèi)容,利用更劣質(zhì)的商品要素去加工,打著同樣的牌子到市場中銷售,從中取得利益。這不僅讓商家損失了自己的利益,也讓損害了客戶的利益。
有鑒于此,現(xiàn)有的某些廠家在生產(chǎn)商品時使用二維碼技術(shù)來進(jìn)行防偽。在進(jìn)行產(chǎn)品生產(chǎn)時,隨機(jī)分配給商品一段無規(guī)則的序列號,根據(jù)序列號生成二維碼。二維碼則印刷在產(chǎn)品外包裝上,企業(yè)廠家在數(shù)據(jù)庫中加入對應(yīng)的驗(yàn)證碼與抽獎號碼,序列號則粘貼在商品上。為了防止商品在購買前被拆開,商家在外包裝口貼上包裝條。用戶在使用時,通過手機(jī)下載專用app,使用專用app掃描二維碼,在驗(yàn)證頁面中輸入防偽驗(yàn)證碼驗(yàn)證產(chǎn)品真?zhèn)?,為了返利促銷,在驗(yàn)證成功后,還會返回一個抽獎碼給用戶,用于抽獎。
從上述現(xiàn)有的技術(shù)方案中,在商家的服務(wù)器端的數(shù)據(jù)庫中保存了序列號,驗(yàn)證碼、抽獎碼,對應(yīng)的獎品或獎金等,如果商品數(shù)量特別巨大,如飲料等,則在數(shù)據(jù)庫端存儲了大量的數(shù)據(jù),每次檢驗(yàn)中都需要從數(shù)據(jù)庫中檢索序列號,再去驗(yàn)證驗(yàn)證碼,這減慢了我們驗(yàn)證速度。
技術(shù)實(shí)現(xiàn)要素:
為克服現(xiàn)有技術(shù)的不足,提供一種簡化存儲、快速驗(yàn)證的商品防偽方法,本發(fā)明提出了一種基于多項式插值的商品防偽方法。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
一種基于多項式插值的商品防偽方法,包括步驟
s1:每一個產(chǎn)品對應(yīng)一個序列號,序列號的全部或者其一部分用于生成一個多項式;
s2:將所述序列號轉(zhuǎn)化為二維碼,貼在產(chǎn)品外包裝處,將驗(yàn)證碼貼于產(chǎn)品內(nèi)包裝;
s3:用戶使用專用app掃描所述二維碼,專用app根據(jù)所述序列號重構(gòu)多項式;
s4:用戶輸入驗(yàn)證碼,所述專用app計算驗(yàn)證碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是正品。
進(jìn)一步地,所述多項式為二階多項式。
更進(jìn)一步地,所述序列號為三個點(diǎn)橫坐標(biāo)和縱坐標(biāo)依次排列形成的。
進(jìn)一步地,所述步驟s2中序列好轉(zhuǎn)化為二維碼包括步驟:
s21:將序列號轉(zhuǎn)化為二進(jìn)制數(shù);
s22:將所述二進(jìn)制數(shù)依次排列,將數(shù)字0變?yōu)榘咨?,?shù)字1變?yōu)楹谏s寫成二維碼。
進(jìn)一步地,步驟s4中所述專用app使用驗(yàn)證碼的全部或其一部分計算驗(yàn)證碼是否在所述多項式曲線上。
本發(fā)明還提出一種基于多項式插值的商品抽獎方法,包括步驟
s1:每一個產(chǎn)品對應(yīng)一個序列號,序列號的全部或者其一部分用于生成一個多項式,服務(wù)器端存儲所述序列號和該序列號對應(yīng)的抽獎碼;
s2:將所述序列號轉(zhuǎn)化為二維碼,貼在產(chǎn)品外包裝處,將抽獎碼貼于產(chǎn)品內(nèi)包裝;
s3:用戶使用專用app掃描所述二維碼,并輸入抽獎碼;
s4:專用app根據(jù)所述二維碼獲取序列號,并將所述序列號和抽獎碼發(fā)送至服務(wù)器端;
s5:服務(wù)器端根據(jù)所述序列號重構(gòu)多項式,并計算所述抽獎碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是中獎。
本發(fā)明還提出另一種基于多項式插值的商品抽獎方法,包括步驟:
s1:每一個產(chǎn)品對應(yīng)一個序列號,序列號的全部或者其一部分用于生成一個多項式,服務(wù)器端存儲所述序列號和該序列號對應(yīng)的抽獎碼;
s2:將所述序列號轉(zhuǎn)化為二維碼,貼在產(chǎn)品外包裝處,將驗(yàn)證碼貼于產(chǎn)品內(nèi)包裝;
s3:用戶使用專用app掃描所述二維碼,專用app根據(jù)所述序列號重構(gòu)多項式;
s4:用戶輸入驗(yàn)證碼,所述專用app計算驗(yàn)證碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是正品,如驗(yàn)證通過,則將所述序列號發(fā)送至服務(wù)器端;
s5:服務(wù)器端根據(jù)所述序列號重構(gòu)多項式,并驗(yàn)證所述抽獎碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是中獎。
本發(fā)明的有益效果在于,與現(xiàn)有技術(shù)相比,本發(fā)明驗(yàn)證產(chǎn)品真?zhèn)卧趯S胊pp端進(jìn)行,減輕了服務(wù)器的壓力,加快了驗(yàn)證速度;優(yōu)化了存儲方案,服務(wù)器端數(shù)據(jù)庫存儲數(shù)據(jù)較小。
附圖說明
圖1是本發(fā)明一種基于多項式插值的商品防偽方法流程圖;
圖2是本發(fā)明一種基于多項式插值的商品抽獎方法流程圖;
圖3是本發(fā)明另一種基于多項式插值的商品抽獎方法流程圖;
圖4是本發(fā)明一個實(shí)施例中序列號、驗(yàn)證碼和抽獎碼函數(shù)圖像示意圖;
圖5是本發(fā)明的一個實(shí)施例中序列號轉(zhuǎn)化為ascii碼排列圖像示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參見圖1,本發(fā)明提出的一種基于多項式插值的商品防偽方法,包括步驟
s1:每一個產(chǎn)品對應(yīng)一個序列號,序列號的全部或者其一部分用于生成一個多項式;
s2:將所述序列號轉(zhuǎn)化為二維碼,貼在產(chǎn)品外包裝處,將驗(yàn)證碼貼于產(chǎn)品內(nèi)包裝;
s3:用戶使用專用app掃描所述二維碼,專用app根據(jù)所述序列號重構(gòu)多項式;
s4:用戶輸入驗(yàn)證碼,所述專用app計算驗(yàn)證碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是正品。
請參見圖2,本發(fā)明還提出了一種基于多項式插值的商品抽獎方法,包括步驟
s1:每一個產(chǎn)品對應(yīng)一個序列號,序列號的全部或者其一部分用于生成一個多項式,服務(wù)器端存儲所述序列號和該序列號對應(yīng)的抽獎碼;
s2:將所述序列號轉(zhuǎn)化為二維碼,貼在產(chǎn)品外包裝處,將抽獎碼貼于產(chǎn)品內(nèi)包裝;
s3:用戶使用專用app掃描所述二維碼,并輸入抽獎碼;
s4:專用app根據(jù)所述二維碼獲取序列號,并將所述序列號和抽獎碼發(fā)送至服務(wù)器端;
s5:服務(wù)器端根據(jù)所述序列號重構(gòu)多項式,并計算所述抽獎碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是中獎。
上述防偽方法和抽獎方法相結(jié)合,還有另外一種基于多項式插值的商品抽獎方法,如圖3所示,包括步驟:
s1:每一個產(chǎn)品對應(yīng)一個序列號,序列號的全部或者其一部分用于生成一個多項式,服務(wù)器端存儲所述序列號和該序列號對應(yīng)的抽獎碼;
s2:將所述序列號轉(zhuǎn)化為二維碼,貼在產(chǎn)品外包裝處,將驗(yàn)證碼貼于產(chǎn)品內(nèi)包裝;
s3:用戶使用專用app掃描所述二維碼,專用app根據(jù)所述序列號重構(gòu)多項式;
s4:用戶輸入驗(yàn)證碼,所述專用app計算驗(yàn)證碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是正品,如驗(yàn)證通過,則將所述序列號發(fā)送至服務(wù)器端;
s5:服務(wù)器端根據(jù)所述序列號重構(gòu)多項式,并驗(yàn)證所述抽獎碼是否在所述多項式曲線上,以驗(yàn)證產(chǎn)品是否是中獎。
下面以二階多項式為例,說明本發(fā)明的發(fā)明構(gòu)思。
如圖4所示,在取序列號時隨機(jī)產(chǎn)生一條二次函數(shù)式,在圖像中隨機(jī)取三點(diǎn)x1、x2、x3,將其橫坐標(biāo)與縱坐標(biāo)合并為(x1y1x2y2x3y3),作為產(chǎn)生二維碼的序列號,在其圖像上取一點(diǎn)(x4,y4)作為驗(yàn)證碼(x4y4)。抽獎號碼隨機(jī)從坐標(biāo)中取一點(diǎn)(x5,y5),中獎與否則檢驗(yàn)(x5,y5)是否在二次函數(shù)式f(x)=ax2+bx+c上。
在坐標(biāo)軸上隨機(jī)產(chǎn)生一條二次函數(shù)式f(x)=x2,在圖像上隨機(jī)取四個點(diǎn)x1(1,1)、x2(2,4),x3(3,9),x4(4,16),隨機(jī)抽取一個點(diǎn)x5(5,13)作為抽獎號碼,將x1、x2、x3的每個坐標(biāo)都用8位二進(jìn)制ascii碼形式表示為(00000001,00000001)(00000010,00000100)(00000011,00001001)
將上述二進(jìn)制ascii碼進(jìn)行排列生成如圖5所示的圖像。將序列號(112439)的二進(jìn)制依次排列。數(shù)字0變成白色,數(shù)字1變成黑色將其編寫成二維碼。在數(shù)據(jù)庫中加入與之對應(yīng)的驗(yàn)證碼(4,16)與抽獎碼(5,13)。
客戶端專用app和服務(wù)器端的驗(yàn)證方法基本一致:
用戶利用專用app掃描二維碼,在驗(yàn)證頁面中輸入驗(yàn)證碼;
獲取掃描后的二維碼序號,將二維碼序號以行的形式分割為三個坐標(biāo);
服務(wù)器中利用三個坐標(biāo)進(jìn)行計算,得出二次函數(shù)式,驗(yàn)證通過后,將抽獎碼代入二次函數(shù)式中進(jìn)行檢驗(yàn),檢驗(yàn)成功則顯示中獎。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍。