Tarkista koodi

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

Related Articles
TOP