一種標(biāo)識(shí)碼的生成方法和裝置、校驗(yàn)方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及產(chǎn)品追溯技術(shù),特別涉及一種標(biāo)識(shí)碼的生成方法和裝置、標(biāo)識(shí)碼的校驗(yàn)方法和裝置。
【背景技術(shù)】
[0002]目前在市場上,為了對(duì)一個(gè)產(chǎn)品進(jìn)行唯一性標(biāo)記,通常會(huì)產(chǎn)生一個(gè)標(biāo)識(shí)碼,比如條形二維碼形式,并將該標(biāo)識(shí)碼貼在產(chǎn)品上,不同的產(chǎn)品貼有不同的標(biāo)識(shí)碼。后續(xù),通過識(shí)別該標(biāo)識(shí)碼則可以識(shí)別相應(yīng)的產(chǎn)品。
[0003]可見,標(biāo)識(shí)碼由于具有標(biāo)識(shí)產(chǎn)品的作用,因此,可以被廣泛用于追溯產(chǎn)品、產(chǎn)品的防偽等使用中。因此,要求標(biāo)識(shí)碼應(yīng)該具有更高的安全性,以避免被仿制。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種標(biāo)識(shí)碼的生成方法和裝置、標(biāo)識(shí)碼的校驗(yàn)方法和裝置,能夠提高標(biāo)識(shí)碼使用的安全性。
[0005]—種標(biāo)識(shí)碼的生成方法,包括:
[0006]產(chǎn)生第一數(shù)字串,該第一數(shù)字串中包括M個(gè)數(shù)字,每一個(gè)數(shù)字為小于10的非負(fù)整數(shù);
[0007]將第一數(shù)字串中第一指定位置上的數(shù)字相加,得到第一和值;
[0008]對(duì)第一和值進(jìn)行第一運(yùn)算,得到第一運(yùn)算結(jié)果;
[0009]將第一數(shù)字串中第二指定位置上的數(shù)字相加,得到第二和值;
[0010]利用第一運(yùn)算結(jié)果與第二和值進(jìn)行第二運(yùn)算,得到第二運(yùn)算結(jié)果;
[0011]取出所述第二運(yùn)算結(jié)果的個(gè)位數(shù),利用預(yù)設(shè)的數(shù)值減去所述取出的個(gè)位數(shù),得到校驗(yàn)位;
[0012]在所述第一數(shù)字串的第三指定位置上插入所述校驗(yàn)位,得到標(biāo)識(shí)碼。
[0013]所述M為大于等于9的整數(shù);
[0014]所述第一數(shù)字串中的首位數(shù)字非O。
[0015]所述第一指定位置為:所述第一數(shù)字串從右向左方向上的所有奇數(shù)位;
[0016]所述第二指定位置為:所述第一數(shù)字串從右向左方向上的所有偶數(shù)位。
[0017]所述對(duì)第一和值進(jìn)行第一運(yùn)算包括:用所述第一和值乘以預(yù)設(shè)的第二數(shù)值;
[0018]和/ 或,
[0019]所述利用第一運(yùn)算結(jié)果與第二和值進(jìn)行第二運(yùn)算包括:將所述第一運(yùn)算結(jié)果與第二和值相加。
[0020]所述預(yù)設(shè)的數(shù)值為10 ;
[0021]和/ 或,
[0022]所述第三指定位置為所述第一數(shù)字串的末尾。
[0023]—種標(biāo)識(shí)碼的校驗(yàn)方法,包括:
[0024]獲取當(dāng)前待校驗(yàn)標(biāo)識(shí)碼對(duì)應(yīng)的第二數(shù)字串,將第二數(shù)字串中第一指定位置上的數(shù)字相加,得到第二和值;
[0025]對(duì)第三和值進(jìn)行第三運(yùn)算,得到第三運(yùn)算結(jié)果;
[0026]將第二數(shù)字串中第二指定位置上的數(shù)字相加,得到第四和值;
[0027]利用第三運(yùn)算結(jié)果與第四和值進(jìn)行第四運(yùn)算,得到第四運(yùn)算結(jié)果;
[0028]取出所述第四運(yùn)算結(jié)果的個(gè)位數(shù),利用預(yù)設(shè)的數(shù)值減去所述取出的個(gè)位數(shù),得到當(dāng)前校驗(yàn)數(shù);
[0029]比較當(dāng)前校驗(yàn)數(shù)與所述第二數(shù)字串中第三指定位置上的數(shù)字是否相同,如果相同,則當(dāng)前待校驗(yàn)標(biāo)識(shí)碼合法,否則非法。
[0030]所述第一指定位置為:去除所述第三位置上的數(shù)字后,所述第二數(shù)字串從右向左方向上的所有奇數(shù)位;
[0031]所述第二指定位置為:去除所述第三位置上的數(shù)字后,所述第一數(shù)字串從右向左方向上的所有偶數(shù)位。
[0032]所述第三指定位置為:所述第二數(shù)字串的末尾;
[0033]所述對(duì)第三和值進(jìn)行第三運(yùn)算包括:用所述第三和值乘以預(yù)設(shè)的第二數(shù)值;
[0034]所述利用第三運(yùn)算結(jié)果與第四和值進(jìn)行第四運(yùn)算包括:將所述第三運(yùn)算結(jié)果與第四和值相加;
[0035]所述預(yù)設(shè)的數(shù)值為10。
[0036]—種標(biāo)識(shí)碼的生成裝置,包括:
[0037]數(shù)字串產(chǎn)生單元,用于產(chǎn)生第一數(shù)字串,該第一數(shù)字串中包括M個(gè)數(shù)字,每一個(gè)數(shù)字為小于10的非負(fù)整數(shù);
[0038]運(yùn)算單元,用于將第一數(shù)字串中第一指定位置上的數(shù)字相加,得到第一和值;對(duì)第一和值進(jìn)行第一運(yùn)算,得到第一運(yùn)算結(jié)果;將第一數(shù)字串中第二指定位置上的數(shù)字相加,得到第二和值;利用第一運(yùn)算結(jié)果與第二和值進(jìn)行第二運(yùn)算,得到第二運(yùn)算結(jié)果;取出所述第二運(yùn)算結(jié)果的個(gè)位數(shù),利用預(yù)設(shè)的數(shù)值減去所述取出的個(gè)位數(shù),得到校驗(yàn)位;
[0039]標(biāo)識(shí)碼形成單元,用于在所述第一數(shù)字串的第三指定位置上插入所述運(yùn)算單元所得到的校驗(yàn)位,以生成標(biāo)識(shí)碼。
[0040]所述運(yùn)算單元包括如下中的一個(gè)或多個(gè):
[0041]第一加法器,將第一數(shù)字串中從右向左方向上的所有奇數(shù)位的數(shù)字相加,得到第一和值;
[0042]第一乘法器,用于將第一和值乘以預(yù)設(shè)的第二數(shù)值,得到第一運(yùn)算結(jié)果;
[0043]第二加法器,用于將第一數(shù)字串中從右向左方向上的所有偶數(shù)位的數(shù)字相加,得到第二和值;
[0044]第三加法器,用于將第一運(yùn)算結(jié)果與第二和值相加,得到第二運(yùn)算結(jié)果;
[0045]所述標(biāo)識(shí)碼形成單元中包括:插入子單元,用于在第一數(shù)字串的末尾處插入所述校驗(yàn)位。
[0046]一種標(biāo)識(shí)碼的校驗(yàn)裝置,包括:
[0047]數(shù)字串獲取單元,用于獲取當(dāng)前待校驗(yàn)標(biāo)識(shí)碼對(duì)應(yīng)的第二數(shù)字串;
[0048]校驗(yàn)位獲取單元,將第二數(shù)字串中第一指定位置上的數(shù)字相加,得到第三和值;對(duì)第三和值進(jìn)行第三運(yùn)算,得到第三運(yùn)算結(jié)果;將第二數(shù)字串中第二指定位置上的數(shù)字相加,得到第四和值;利用第三運(yùn)算結(jié)果與第四和值進(jìn)行第四運(yùn)算,得到第四運(yùn)算結(jié)果;取出所述第四運(yùn)算結(jié)果的個(gè)位數(shù),利用預(yù)數(shù)值減去所述取出的個(gè)位數(shù),得到當(dāng)前校驗(yàn)數(shù);
[0049]比較單元,用于比較當(dāng)前校驗(yàn)數(shù)與所述第二數(shù)字串中第三指定位置上的數(shù)字是否相同,如果相同,則確定當(dāng)前待校驗(yàn)標(biāo)識(shí)碼合法,否則非法。
[0050]本發(fā)明實(shí)施例提供的標(biāo)識(shí)碼的生成方法和裝置、標(biāo)識(shí)碼的校驗(yàn)方法和裝置,不是簡單地將產(chǎn)生的數(shù)字串作為標(biāo)識(shí)碼,而是對(duì)數(shù)字串進(jìn)行一系列的運(yùn)算,得到校驗(yàn)位,將該校驗(yàn)位加入數(shù)字串中,以生成標(biāo)識(shí)碼。由于采用了一系列的運(yùn)算,因此,所生成的標(biāo)識(shí)碼的安全性更高。后續(xù),在獲取一個(gè)標(biāo)識(shí)碼時(shí),只需要采用相同的運(yùn)算計(jì)算出當(dāng)前校驗(yàn)數(shù),將當(dāng)前校驗(yàn)數(shù)與數(shù)字串中的校驗(yàn)位比較,如果相同,則可以確定標(biāo)識(shí)碼合法。由于非法產(chǎn)生的標(biāo)識(shí)碼無法使用相同的運(yùn)算計(jì)算出校驗(yàn)位并攜帶在數(shù)字串的指定位置上,因此,能夠更為準(zhǔn)確地確定標(biāo)識(shí)碼是否合法,提高了標(biāo)識(shí)碼的安全性。
【附圖說明】
[0051]圖1是本發(fā)明一個(gè)實(shí)施例中標(biāo)識(shí)碼生成方法的流程圖。
[0052]圖2是本發(fā)明另一個(gè)實(shí)施例中標(biāo)識(shí)碼生成方法的流程圖。
[0053]圖3是本發(fā)明一個(gè)實(shí)施例中標(biāo)識(shí)碼校驗(yàn)方法的流程圖。
[0054]圖4是本發(fā)明另一個(gè)實(shí)施例中標(biāo)識(shí)碼校驗(yàn)方法的流程圖。
[0055]圖5是本發(fā)明一個(gè)實(shí)施例中標(biāo)識(shí)碼生成裝置的結(jié)構(gòu)示意圖。
[0056]圖6是本發(fā)明一個(gè)實(shí)施例中標(biāo)識(shí)碼校驗(yàn)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0057]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0058]本發(fā)明一個(gè)實(shí)施例提出了一種標(biāo)識(shí)碼的生成方法,參見圖1,包括:
[0059]101:產(chǎn)生第一數(shù)字串,該第一數(shù)字串中包括M個(gè)數(shù)字,每一個(gè)數(shù)字為小于10的非負(fù)整數(shù);
[0060]102:將第一數(shù)字串中第一指定位置上的數(shù)字相加,得到第一和值;
[0061]103:對(duì)第一和值進(jìn)行第一運(yùn)算,得到第一運(yùn)算結(jié)果;
[0062]104:將第一數(shù)字串中第二指定位置上的數(shù)字相加,得到第二和值;
[0063]105:利用第一運(yùn)算結(jié)果與第二和值進(jìn)行第二運(yùn)算,得到第二運(yùn)算結(jié)果;
[0064]106:取出所述第二運(yùn)算結(jié)果的個(gè)位數(shù),利用預(yù)設(shè)的數(shù)值減去所述取出的個(gè)位數(shù),得到校驗(yàn)位;
[0065]107:在所述第一數(shù)字串的第三指定位置上插入所述校驗(yàn)位,得到標(biāo)識(shí)碼。
[0066]可見,在圖1所示的過程中,不是簡單地將產(chǎn)生的數(shù)字串作為標(biāo)識(shí)碼,而是對(duì)數(shù)字串進(jìn)行一系列的步驟102至步驟106的運(yùn)算,得到校驗(yàn)位,將該校驗(yàn)位加入數(shù)字串中,以生成標(biāo)識(shí)碼。由于采用了一系列的運(yùn)算,因此,所生成的標(biāo)識(shí)碼的安全性更高。
[0067]為了進(jìn)一步提高所產(chǎn)生的標(biāo)識(shí)碼的安全性,可以令產(chǎn)生的數(shù)字串的位數(shù)更多些,從而使得后續(xù)運(yùn)算更為復(fù)雜。這樣,在本發(fā)明一個(gè)實(shí)施例中,所述M為大于等于9的整數(shù),也就是說,產(chǎn)生至少包括9位數(shù)字的數(shù)字串。
[0068]在本發(fā)明的一個(gè)實(shí)施例中,所述第一數(shù)字串中的首位數(shù)字非O。
[0069]在本發(fā)明的一個(gè)實(shí)施例中,步驟102中,所述第一指定位置可以為:所述第一數(shù)字串從右向左方向上的所有奇數(shù)位;也就是說,步驟102中可以將第一