一種基於多項式插值的商品抽獎和防偽方法與流程
2023-06-04 11:32:26
本發明涉及二維碼技術,尤其涉及一種基於多項式插值的商品抽獎和防偽方法。
背景技術:
商家在投入了大量的人力物力後生產出商品,但流動在市場中時往往經過仿造偽裝被頂替。不法分子通過模仿商品內容,利用更劣質的商品要素去加工,打著同樣的牌子到市場中銷售,從中取得利益。這不僅讓商家損失了自己的利益,也讓損害了客戶的利益。
有鑑於此,現有的某些廠家在生產商品時使用二維碼技術來進行防偽。在進行產品生產時,隨機分配給商品一段無規則的序列號,根據序列號生成二維碼。二維碼則印刷在產品外包裝上,企業廠家在資料庫中加入對應的驗證碼與抽獎號碼,序列號則粘貼在商品上。為了防止商品在購買前被拆開,商家在外包裝口貼上包裝條。用戶在使用時,通過手機下載專用app,使用專用app掃描二維碼,在驗證頁面中輸入防偽驗證碼驗證產品真偽,為了返利促銷,在驗證成功後,還會返回一個抽獎碼給用戶,用於抽獎。
從上述現有的技術方案中,在商家的伺服器端的資料庫中保存了序列號,驗證碼、抽獎碼,對應的獎品或獎金等,如果商品數量特別巨大,如飲料等,則在資料庫端存儲了大量的數據,每次檢驗中都需要從資料庫中檢索序列號,再去驗證驗證碼,這減慢了我們驗證速度。
技術實現要素:
為克服現有技術的不足,提供一種簡化存儲、快速驗證的商品防偽方法,本發明提出了一種基於多項式插值的商品抽獎和防偽方法。
本發明的技術方案是這樣實現的:
一種基於多項式插值的商品抽獎方法,包括步驟
s1:每一個產品對應一個序列號,序列號的全部或者其一部分用於生成一個多項式;
s2:將所述序列號轉化為二維碼,貼在產品外包裝處,將驗證碼貼於產品內包裝;
s3:用戶使用專用app掃描所述二維碼,專用app根據所述序列號重構多項式;
s4:用戶輸入驗證碼,所述專用app計算驗證碼是否在所述多項式曲線上,以驗證產品是否是正品;
s5:若產品是正品,則所述專用app將所述多項式曲線發送到伺服器端;
s6:所述伺服器端計算所述多項式曲線是否與保存在伺服器端的一個幾何區域相交,以驗證產品是否中獎。
進一步地,所述多項式為二階多項式。
更進一步地,所述序列號為三個點橫坐標和縱坐標依次排列形成的。
進一步地,所述步驟s2中序列好轉化為二維碼包括步驟:
s21:將序列號轉化為二進位數;
s22:將所述二進位數依次排列,將數字0變為白色,數字1變為黑色,縮寫成二維碼。
進一步地,步驟s4中所述專用app使用驗證碼的全部或其一部分計算驗證碼是否在所述多項式曲線上。
本發明還提供一種基於多項式插值的商品防偽方法,包括步驟:
s1:每一個產品對應一個序列號,序列號的全部或者其一部分及驗證碼的全部或一部分用於生成一個多項式,伺服器端存儲有驗證幾何區域;
s2:將所述序列號轉化為二維碼,貼在產品外包裝處,將驗證碼貼於產品內包裝;
s3:用戶使用專用app掃描所述二維碼,並輸入驗證碼;
s4:伺服器端根據所述序列號和驗證碼重構多項式,驗證所述多項式和驗證幾何區域是否相交,以驗證產品是否是正品。
本發明還提供一種基於多項式插值的商品抽獎方法,包括步驟:
s1:每一個產品對應一個序列號,序列號的全部或者其一部分及驗證碼的全部或一部分用於生成一個多項式,伺服器端存儲有驗證幾何區域和中獎幾何區域;
s2:將所述序列號轉化為二維碼,貼在產品外包裝處,將驗證碼貼於產品內包裝;
s3:用戶使用專用app掃描所述二維碼,並輸入驗證碼;
s4:所述專用app將二維碼轉換為序列號,並將所述序列號和驗證碼發送至伺服器端;
s5:伺服器端根據所述序列號和驗證碼重構多項式,驗證所述多項式和驗證幾何區域是否相交,以驗證產品是否是正品;
s6:如產品是正品,則伺服器端驗證所述多項式是否和中獎幾何區域相交,以驗證產品是否中獎。
本發明的有益效果在於,與現有技術相比,本發明的伺服器端只需要保存很少的數據,減輕了伺服器的壓力,加快了驗證速度。
附圖說明
圖1是本發明一種基於多項式插值的商品抽獎方法流程圖;
圖2是本發明一種基於多項式插值的商品防偽方法流程圖;
圖3是本發明另一種基於多項式插值的商品中獎方法流程圖;
圖4是本發明一個實施例中序列號、驗證碼和抽獎碼函數圖像示意圖;
圖5是本發明的一個實施例中序列號轉化為ascii碼排列圖像示意圖。
圖6是本發明另外一個實施例中序列號、驗證碼和抽獎碼函數圖像示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
請參見圖1,本發明提出的一種基於多項式插值的商品抽獎方法,包括步驟
s1:每一個產品對應一個序列號,序列號的全部或者其一部分用於生成一個多項式;
s2:將所述序列號轉化為二維碼,貼在產品外包裝處,將驗證碼貼於產品內包裝;
s3:用戶使用專用app掃描所述二維碼,專用app根據所述序列號重構多項式;
s4:用戶輸入驗證碼,所述專用app計算驗證碼是否在所述多項式曲線上,以驗證產品是否是正品;
s5:若產品是正品,則所述專用app將所述多項式曲線發送到伺服器端;
s6:所述伺服器端計算所述多項式曲線是否與保存在伺服器端的一個幾何區域相交,以驗證產品是否中獎。
請參見圖2,本發明還提出了一種基於多項式插值的商品防偽方法,包括步驟:
s1:每一個產品對應一個序列號,序列號的全部或者其一部分及驗證碼的全部或一部分用於生成一個多項式,伺服器端存儲有驗證幾何區域;
s2:將所述序列號轉化為二維碼,貼在產品外包裝處,將驗證碼貼於產品內包裝;
s3:用戶使用專用app掃描所述二維碼,並輸入驗證碼;
s4:所述專用app將二維碼轉換為序列號,並將所述序列號和驗證碼發送至伺服器端;
s5:伺服器端根據所述序列號和驗證碼重構多項式,驗證所述多項式和驗證幾何區域是否相交,以驗證產品是否是正品。
在上述防偽方法的基礎上,本發明還提供另外一種基於多項式插值的商品抽獎方法,如圖3所示,包括步驟:
s1:每一個產品對應一個序列號,序列號的全部或者其一部分及驗證碼的全部或一部分用於生成一個多項式,伺服器端存儲有驗證幾何區域和中獎幾何區域;
s2:將所述序列號轉化為二維碼,貼在產品外包裝處,將驗證碼貼於產品內包裝;
s3:用戶使用專用app掃描所述二維碼,並輸入驗證碼;
s4:所述專用app將二維碼轉換為序列號,並將所述序列號和驗證碼發送至伺服器端;
s5:伺服器端根據所述序列號和驗證碼重構多項式,驗證所述多項式和驗證幾何區域是否相交,以驗證產品是否是正品;
s6:如產品是正品,則伺服器端驗證所述多項式是否和中獎幾何區域相交,以驗證產品是否中獎。
下面以二階多項式為例,說明本發明的發明構思。
如圖4所示,在取序列號時隨機產生一條二次函數式,在圖像中隨機取三點x1、x2、x3,將其橫坐標與縱坐標合併為(x1y1x2y2x3y3),作為產生二維碼的序列號,在其圖像上取一點(x4,y4)作為驗證碼(x4y4)。抽獎號碼隨機從坐標中取一點(x5,y5),中獎與否則檢驗(x5,y5)是否在二次函數式f(x)=ax2+bx+c上。
在坐標軸上隨機產生一條二次函數式f(x)=x2,在圖像上隨機取四個點x1(1,1)、x2(2,4),x3(3,9),x4(4,16),隨機抽取一個點x5(5,13)作為抽獎號碼,將x1、x2、x3的每個坐標都用8位二進位ascii碼形式表示為(00000001,00000001)(00000010,00000100)(00000011,00001001)
將上述二進位ascii碼進行排列生成如圖5所示的圖像。將序列號(112439)的二進位依次排列。數字0變成白色,數字1變成黑色將其編寫成二維碼。在資料庫中加入與之對應的驗證碼(4,16)與抽獎碼(5,13)。
如驗證產品是否為正品,或者驗證產品是否中獎是在伺服器端進行的,則其過程是這樣的:
專用app掃描外部的二維碼獲取序列號、用戶輸入驗證碼,專用app將序列號和驗證碼一併發送給伺服器端,伺服器端根據序列號的全部或一部分和驗證碼的全部或一部分重構多項式,如圖6所示,如多項式與事先設定存儲在伺服器端的驗證幾何區域相交,則該產品為正品;如驗證產品為正品,則再驗證該多項式是否與中獎幾何區域相交,如相交則該產品中獎。
在伺服器端,只需要存儲少量的點坐標以記錄驗證幾何區域和中獎幾何區域,因此伺服器端的存儲數據量及其少,甚至不需要設置遠程伺服器端,只需要一個簡單的硬體設備就可以實現產品是否為正品和是否中獎的驗證。
以上所述是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護範圍。