Composition
Anycodewithacheckcodeiscomposedoftwoparts:thebodycodeandthecheckcode(suchastheorganizationcode).Thebodycodeisthenumberthatrepresentsthecodeobject.Theverificationcodeisanumberattachedtothebodycodetoverifytheaccuracyofthebodycodeduringtheinputprocess.Eachbodycodecanonlyhaveonecheckcode,andthecheckcodeisobtainedthroughaprescribedmathematicalrelationship.
Principleofverification
Thesystemispresetwithaverificationprogramcompiledaccordingtotheverificationformuladerivedfromtheverificationmethod.Whenthecodewiththeverificationcodeisinputintothesystem,Thesystemusestheverificationprogramtocalculatetheinputbodycodetoobtaintheverificationresult,andthencomparestheverificationresultwiththeverificationcodeoftheinputcodetocheckwhethertheinputiscorrectornot.Ifthetwoareconsistent,itmeansthatthecodeisenteredcorrectlyandthesystemallowsentry;iftheyareinconsistent,itmeansthatthecodeisenteredincorrectly,andthesystemrefusestoenterandrequiresthecodetobere-entered.
Tarkistussummaalgoritmi
Erilaiset tarkistussummaalgoritmit ovat usein erilaisia.Yleiset tarkistuskoodialgoritmit sisältävät: koodietäisyys, pariteettitarkistus, Hamming-tarkistus, syklinen redundanssitarkistus jne.
Algoritmeesimerkki
ID-kortin tarkistuskoodi
Kiinan kansantasavallan kansallisen standardin GB11643-1999 mukaanlaskentamenetelmä kansalaisten henkilöllisyyskoodin vahvistuskoodille.6
Oletetaan 17-numeroinen numero
17-numeroinen luku | > 1 | 2 | > 3 | 4 | 5 | > 6 | > 7 | > 8 | > 9 | 0 | 1 | 2 | > 3 | > 4 | > 5 | > 6 | > 7 |
Painokerroin | > 7 | > 9 | > 10 | > 5 | > 8 | > 4 | > 2 | > 1 | > 6 | > 3 | > 7 | > 9 | > 10 | > 5 | > 8 | > 4 | > 2 |
368
Laske 17-numeroisen luvun ja sitä vastaavien painotuskertoimien tulosumma:1×7+2×9+3×10+4×5+5×8+6×4+7×2+8×1+9×6+0×3+1×7 +2×9+3×10+4×5+5×8+6×4+7×2=368;Laske loputS÷11:368mod11=5;Laske loputRof(12-T)÷11,ifR=10,tarkistuskoodikirjain" X";ifR≠10,tarkistuskoodi onluku"R":(12-5)mod11=7.17-numeroinen tarkistuskoodi on7, joka on koottu 123456789012345677:ksi.
Painotustekijän kaava onWi=2^(n-1)(mod11),jossalukujonoalkaen1:stä oikealta vasemmalle.
Järjestys
ai12345678901234567?
Wi79105842163791058421
OrganizationCheckCode
Sitten kansallinen organisaatiokoodi koostuu kahdeksasta numerosta (tai isot latinalaiset kirjaimet) body-koodista ja yhdestä numerosta (tai isot kirjaimet latinalaiset kirjaimet) tarkistuskoodista. Tarkistuskoodi lasketaan seuraavan kaavan mukaan:
8
C9=11-MOD(∑Ci×Wi,11)
i=1
MOD - edustaa muuta toimintoa; i - edustaa koodimerkin sijaintinumeroa vasemmalta oikealle;
Ci, joka edustaa koodimerkin arvoa sijainnissa, lueteltuseuraavien "koodimerkkijoukkojen" merkit;
C9-indikoiva tarkistuskoodi;
Wi-indikoiden sijainnin painotustekijän, arvot ovat seuraavat:
painotuskerroin
p>i
1
2
3
4
5
6
7
8
Wi
3
7
9
10
5
8
4
2
Kun MODfunctionvalueWhenitis1(ieC9=10),tarkistuskoodin on esitettävä isolla latinalaiskirjaimella"X";kun MODfunctionvalueon0(ieC9=11), tarkistuskoodia esittää edelleen"0,9arvoon
Katso
Tarkistuskoodijärjestelmä
Redundanssin tarkistus