果;
[0122]第二加法器,用于將第一數(shù)字串中從右向左方向上的所有偶數(shù)位的數(shù)字相加,得到第二和值;
[0123]第三加法器,用于將第一運(yùn)算結(jié)果與第二和值相加,得到第二運(yùn)算結(jié)果;
[0124]所述標(biāo)識碼形成單元503中包括:插入子單元,用于在第一數(shù)字串的末尾處插入所述校驗(yàn)位。
[0125]本發(fā)明一個(gè)實(shí)施例提出了一種標(biāo)識碼的校驗(yàn)裝置,參見圖6,包括:
[0126]數(shù)字串獲取單元601,用于獲取當(dāng)前待校驗(yàn)標(biāo)識碼對應(yīng)的第二數(shù)字串;
[0127]校驗(yàn)位獲取單元602,將數(shù)字串獲取單元601獲取的第二數(shù)字串中第一指定位置上的數(shù)字相加,得到第三和值;對第三和值進(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ù);
[0128]比較單元603,用于比較校驗(yàn)位獲取單元602得到的當(dāng)前校驗(yàn)數(shù)與所述第二數(shù)字串中第三指定位置上的數(shù)字是否相同,如果相同,則確定當(dāng)前待校驗(yàn)標(biāo)識碼合法,否則非法。
[0129]上述設(shè)備、裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0130]本發(fā)明各個(gè)實(shí)施例至少具有如下的有益效果:
[0131]1、本發(fā)明實(shí)施例提供的標(biāo)識碼的生成方法和裝置、標(biāo)識碼的校驗(yàn)方法和裝置,不是簡單地將產(chǎn)生的數(shù)字串作為標(biāo)識碼,而是對數(shù)字串進(jìn)行一系列的運(yùn)算,得到校驗(yàn)位,將該校驗(yàn)位加入數(shù)字串中,以生成標(biāo)識碼。由于采用了一系列的運(yùn)算,因此,所生成的標(biāo)識碼的安全性更高。后續(xù),在獲取一個(gè)標(biāo)識碼時(shí),只需要采用相同的運(yùn)算計(jì)算出當(dāng)前校驗(yàn)數(shù),將當(dāng)前校驗(yàn)數(shù)與數(shù)字串中的校驗(yàn)位比較,如果相同,則可以確定標(biāo)識碼合法。由于非法產(chǎn)生的標(biāo)識碼無法使用相同的運(yùn)算計(jì)算出校驗(yàn)位并攜帶在數(shù)字串的指定位置上,因此,能夠更為準(zhǔn)確地確定標(biāo)識碼是否合法,提高了標(biāo)識碼的安全性。
[0132]2、本發(fā)明實(shí)施例中,為了得到校驗(yàn)位,采用了三次加法運(yùn)算,一次乘法運(yùn)算,一次減法運(yùn)算,一次取個(gè)位處理以及一次插入處理。因此,得到校驗(yàn)位的方式的難度更高,使得產(chǎn)生的標(biāo)識碼的安全性和唯一性更高。
[0133]3、本發(fā)明實(shí)施例中的標(biāo)識碼可以保證唯一性,作為商品的追溯碼時(shí)不會(huì)重復(fù)。另外,此種標(biāo)識碼的產(chǎn)生和校驗(yàn)?zāi)軌蜻m應(yīng)產(chǎn)品頻繁的更新?lián)Q代的需要。
[0134]4、本發(fā)明實(shí)施例中的標(biāo)識碼可擴(kuò)展,編碼長度可無限擴(kuò)展。
[0135]5、本發(fā)明實(shí)施例中的標(biāo)識碼能夠防偽造,通過校驗(yàn)碼以及校驗(yàn)碼的運(yùn)算得到過程,能夠防止偽造標(biāo)識碼。
[0136]6、本發(fā)明各個(gè)實(shí)施例中,可以通過標(biāo)識碼查找關(guān)聯(lián)的產(chǎn)品生產(chǎn)、銷售過程中的各種信息,實(shí)現(xiàn)產(chǎn)品的全過程追溯。
[0137]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)〃 〃 〃 〃 〃 〃”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0138]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種標(biāo)識碼的生成方法,其特征在于,包括: 產(chǎn)生第一數(shù)字串,該第一數(shù)字串中包括M個(gè)數(shù)字,每一個(gè)數(shù)字為小于10的非負(fù)整數(shù); 將第一數(shù)字串中第一指定位置上的數(shù)字相加,得到第一和值; 對第一和值進(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)位; 在所述第一數(shù)字串的第三指定位置上插入所述校驗(yàn)位,得到標(biāo)識碼。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述M為大于等于9的整數(shù); 所述第一數(shù)字串中的首位數(shù)字非O。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一指定位置為:所述第一數(shù)字串從右向左方向上的所有奇數(shù)位; 所述第二指定位置為:所述第一數(shù)字串從右向左方向上的所有偶數(shù)位。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對第一和值進(jìn)行第一運(yùn)算包括:用所述第一和值乘以預(yù)設(shè)的第二數(shù)值; 和/或, 所述利用第一運(yùn)算結(jié)果與第二和值進(jìn)行第二運(yùn)算包括:將所述第一運(yùn)算結(jié)果與第二和值相加。5.根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于, 所述預(yù)設(shè)的數(shù)值為10 ; 和/或, 所述第三指定位置為所述第一數(shù)字串的末尾。6.一種標(biāo)識碼的校驗(yàn)方法,其特征在于,包括: 獲取當(dāng)前待校驗(yàn)標(biāo)識碼對應(yīng)的第二數(shù)字串,將第二數(shù)字串中第一指定位置上的數(shù)字相加,得到第二和值; 對第三和值進(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ù),得到當(dāng)前校驗(yàn)數(shù); 比較當(dāng)前校驗(yàn)數(shù)與所述第二數(shù)字串中第三指定位置上的數(shù)字是否相同,如果相同,則當(dāng)前待校驗(yàn)標(biāo)識碼合法,否則非法。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一指定位置為:所述第二數(shù)字串從右向左方向上的所有奇數(shù)位;。 所述第二指定位置為:所述第一數(shù)字串從右向左方向上的所有偶數(shù)位。 所述第三指定位置為:所述第二數(shù)字串的末尾; 所述對第三和值進(jìn)行第三運(yùn)算包括:用所述第三和值乘以預(yù)設(shè)的第二數(shù)值; 所述利用第三運(yùn)算結(jié)果與第四和值進(jìn)行第四運(yùn)算包括:將所述第三運(yùn)算結(jié)果與第四和值相加; 所述預(yù)設(shè)的數(shù)值為10。8.一種標(biāo)識碼的生成裝置,其特征在,包括: 數(shù)字串產(chǎn)生單元,用于產(chǎn)生第一數(shù)字串,該第一數(shù)字串中包括M個(gè)數(shù)字,每一個(gè)數(shù)字為小于10的非負(fù)整數(shù); 運(yùn)算單元,用于將第一數(shù)字串中第一指定位置上的數(shù)字相加,得到第一和值;對第一和值進(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)位; 標(biāo)識碼形成單元,用于在所述第一數(shù)字串的第三指定位置上插入所述運(yùn)算單元所得到的校驗(yàn)位,以生成標(biāo)識碼。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述運(yùn)算單元包括如下中的一個(gè)或多個(gè): 第一加法器,將第一數(shù)字串中從右向左方向上的所有奇數(shù)位的數(shù)字相加,得到第一和值; 第一乘法器,用于將第一和值乘以預(yù)設(shè)的第二數(shù)值,得到第一運(yùn)算結(jié)果; 第二加法器,用于將第一數(shù)字串中從右向左方向上的所有偶數(shù)位的數(shù)字相加,得到第二和值; 第三加法器,用于將第一運(yùn)算結(jié)果與第二和值相加,得到第二運(yùn)算結(jié)果; 所述標(biāo)識碼形成單元中包括:插入子單元,用于在第一數(shù)字串的末尾處插入所述校驗(yàn)位。10.一種標(biāo)識碼的校驗(yàn)裝置,其特征在于,包括: 數(shù)字串獲取單元,用于獲取當(dāng)前待校驗(yàn)標(biāo)識碼對應(yīng)的第二數(shù)字串; 校驗(yàn)位獲取單元,將第二數(shù)字串中第一指定位置上的數(shù)字相加,得到第三和值;對第三和值進(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ù); 比較單元,用于比較當(dāng)前校驗(yàn)數(shù)與所述第二數(shù)字串中第三指定位置上的數(shù)字是否相同,如果相同,則確定當(dāng)前待校驗(yàn)標(biāo)識碼合法,否則非法。
【專利摘要】本發(fā)明提供一種標(biāo)識碼的生成方法和裝置、校驗(yàn)方法和裝置。該生產(chǎn)方法包括:產(chǎn)生第一數(shù)字串,該第一數(shù)字串中包括M個(gè)數(shù)字,每一個(gè)數(shù)字為小于10的非負(fù)整數(shù);將第一數(shù)字串中第一指定位置上的數(shù)字相加,得到第一和值;對第一和值進(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)位;在所述第一數(shù)字串的第三指定位置上插入所述校驗(yàn)位,得到標(biāo)識碼。本方案能夠提高標(biāo)識碼的安全性。
【IPC分類】G06K19/06
【公開號】CN105160379
【申請?zhí)枴緾N201510548029
【發(fā)明人】任濤, 孫磊
【申請人】浪潮軟件股份有限公司
【公開日】2015年12月16日
【申請日】2015年8月31日