Tjek nummer

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 21. februar 2016; verifikation kræver 51 redigeringer .

Kontrolnummer , kontrolciffer - en slags kontrolsum , normalt tilføjet til slutningen af ​​lange tal for i første omgang at kontrollere deres rigtighed. Det bruges til at reducere sandsynligheden for fejl ved behandling af sådanne tal: maskinlæsning fra emballagen af ​​varer, skrivning til dokumenter , stemmetransmission fra person til person osv.

Tilstedeværelsen og rigtigheden af ​​kontrolnummeret garanterer ikke pålideligheden af ​​det pågældende nummer (herunder sparer ikke fra ubudne gæsters handlinger ), men i praksis beskytter det ret godt mod tilfældige fejl.

Kontrolnummeret er oftest enten det sidste ciffer i summen af ​​alle tallene i tallet, eller resultatet af en anden matematisk operation på tallene. I computerprogrammer er begrebet "tjeknummer" blevet generaliseret til CRC , paritetsbit og Reed-Solomon-koder ; og i nogle arkiverer er mængden af ​​kontroldata sådan, at den ikke kun gør det muligt at opdage en fejl, men også at rette den ( detektering og korrektion af fejl ).

De kontrolnumre, der bruges i dokumenter, gør det normalt muligt at genskabe ét tabt ciffer, forudsat at det er kendt på hvilken position i nummeret det skal være, og at de resterende cifre i nummeret er korrekte. Hvis det ikke er kendt, på hvilken position der er en fejl, skal du gennemgå alle mulige muligheder (for et 13-cifret tal vil der f.eks. være 13 af dem), og vælge de mest plausible blandt dem (baseret på analysen af ​​den meningsfulde information i nummeret). Blot at rette kontrolcifferet kan kun føre til en større ikke -matematisk fejl .

Fordele og ulemper

Fejlbeskrivelse
Verhouffs algoritme

Månen algoritme
SHA1-algoritme
(ensartet)
TIN-
rest efter
dividering med 11
OKPO
fordobler resten
af ​​divisionen med 11
EAN13
Enkelte fejl (6 i stedet for 7) 100 % 100 % 94,5 % 98,1 % 100 % 100 %
Permutationer af nabocifre (67 i stedet for 76) 100 % 97,7 % 94,5 % 98,1 % 100 % 88,8 %
Dobbeltfejl (66 i stedet for 77) 95,5 % 93,3 % 94,5 % 98,1 % 81,8 % 88,8 %
Permutationer af ulige/lige cifre (637 i stedet for 736) 94,2 % 0 % 94,5 % 98,1 % 100 % 0 %
Permutationer af alle cifferpositioner (6327 i stedet for 7326) 94,9 % 58,6 % 94,5 % 98,1 % 100 % 53,3 %
Dobbeltfejl i ikke-tilstødende cifre (636 i stedet for 737) 94,2 % 100 % 94,5 % 98,1 % 100 % 88,8 %
Indsæt et vilkårligt ciffer - (67 i stedet for 6) 90 % 94 % 94,5 % 90,6 % 93,0 % 91,4 %
Dupliker ethvert ciffer (66 i stedet for 6) 90 % 93,8 % 94,5 % 89,2 % 93,5 % 90 %

Ulemperne ved algoritmen er traditionelt blevet tilskrevet dens høje kompleksitet sammenlignet med andre algoritmer. Det er ret svært at udføre alle beregningerne manuelt, især for lange sekvenser. Men med maskinverifikation spiller kompleksiteten af ​​beregninger ikke en afgørende rolle, hvilket gør det muligt at bruge Verhouff-algoritmen ved kontrol af indtastede værdier i forskellige enheder.

Eksempler på brug af kontrolnumre i dokumenter

I eksempler er en eller anden funktion ( kontrolsum) normalt beregnet ud fra cifrene i tallet. Hvis det er lig med 0, genkendes tallet som korrekt. I nogle tilfælde er det mere bekvemt at beregne kontrolnummeret og sammenligne det med det eksisterende. Formelt kan checksummen betragtes som forskellen mellem de tilgængelige og beregnede checktal.

Tallets cifre er nummereret fra højre mod venstre: …n 3 n 2 n 1 , samt de tilsvarende koefficienter …k 3 k 2 k 1 .

Normalt er meningsfulde oplysninger (landekode, produktkode, bankkode osv.) placeret i venstre side af nummeret, og kontrolnummeret (cifferet) er det sidste (længst til højre) og har nummeret 1 (n 1 ), men , fra et matematisk synspunkt er alle talkoder som regel ens, og enhver af dem kan betragtes som en kontrol for resten. Betydningen af ​​indholdsdelen af ​​nummeret kan findes i beskrivelsen af ​​den tilsvarende kode.

Produktnumre: forskellige typer stregkoder

Stregkodekontrolsummer beregnes ved hjælp af en lignende algoritme. Derudover bruges den samme algoritme (tabellen er afkortet eller fortsætter til venstre efter den åbenlyse regel) i mange andre tilfælde, for eksempel til varenumre i butikker.

k 13 k 12 k 11 k 10 k9 _ k 8 k 7 k6 _ k5 _ k4 _ k 3 k2 _ k 1
EAN-13 en 3 en 3 en 3 en 3 en 3 en 3 en
UPC-12
EAN-8

Kontrolsummen er resten af ​​at dividere med 10 summen af ​​cifrene i tallet, ganget med de tilsvarende koefficienter fra tabellen. Hvis kontrolsummen er 0, genkendes tallet som korrekt.

Hvis du har brug for at beregne det nødvendige kontroltal for et vilkårligt tal, skal du først sætte "0" i positionen længst til højre, beregne kontrolsummen og derefter, hvis den ikke er lig med nul, erstatte denne "0" med "10 - kontrolsum".

Specifikke eksempler:

4600051000057 (" Prima " cigaretter) - EAN-13 kode.

4×1+ 6×3+ 0×1+ 0×3+ 0×1+ 5×3+ 1×1+ 0×3+ 0×1+ 0×3+ 0×1+ 5×3+ 7×1=
4+ 18+ 0+ 0+ 0+ 15+ 1+ 0+ 0+ 0+ 0+ 15+ 7= 60. Kontrolsum = 0 - tallet er korrekt.

46009333 (" Belomorkanal " cigaretter) - kode EAN-8.

4×3+ 6×1+ 0×3+ 0×1+ 9×3+ 3×1+ 3×3+ 3×1=
12+ 6+ 0+ 0+ 27+ 3+ 9+ 3= 60. Kontrolsum = 0 - tallet er korrekt.

041689300494 ( benzin til Zippo lighter ) - UPC-12 kode.

0×3+ 4×1+ 1×3+ 6×1+ 8×3+ 9×1+ 3×3+ 0×1+ 0×3+ 4×1+ 9×3+ 4×1=
0+ 4+ 3+ 6+ 24+ 9+ 9+ 0+ 0+ 4+ 27+ 4= 90. Kontrolsum = 0 - tallet er korrekt.

Tjek nummergendannelse. Det angivne nummer er 460154602129?, EAN-13 med et manglende kontrolciffer "?".

For 4601546021290: Kontrolsummen er det mindste tal, der skal lægges til den beregnede værdi for at få et multiplum af 10. I vores tilfælde er det nærmeste multiplum af "10" til "82" "90". Til "82" skal du tilføje "8" for at få "90". Derfor er kontrolnummeret "8" per definition, og det nummer, du leder efter, er 4601546021298. 4×1+ 6×3+ 0×1+ 1×3+ 5×1+ 4×3+ 6×1+ 0×3+ 2×1+ 1×3+ 2×1+ 9×3+ 0×1=
4+ 18+ 0+ 3+ 5+ 12+ 6+ 0+ 2+ 3+ 2+ 27+ 0= 82.

Bankkontonumre

For at beregne kontrolcifferet på en bankkonto (det niende ciffer i kontonummeret) anvendes følgende algoritme: 3 cifre tilføjes i begyndelsen af ​​det aktuelle kontonummer, svarende til de sidste tre cifre i bankens BIC . Vi får et antal på 23 cifre, hvor kontrolcifferet er på en 12. plads. Hvis vi skal kontrollere eller beregne kontrolcifferet for en korrespondentkonto, så tager vi for de første tre cifre nul ('0') og to cifre af det betingede nummer af RCC, som svarer til det femte og sjette ciffer i bankens BIC.

Et eksempel på beregning af kontrolcifferet for en løbende konto:

konto 40702810?000000000014
BIC 044544512

I den oprindelige tilstand er alle cifre kendte, undtagen kontrolcifferet erstattes det med nul. Til beregninger bruges en speciel række af vægtkoefficienter: 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1.
Summen af ​​produkterne af positionscifferet og positionsvægten beregnes.
Det sidste ciffer i dette beløb, ganget med 3, vil være kontrolcifferet.
Her er den vægtede sum 135 = (5x7 + 1x1 + 2x3) + (4x7 + 0x1 + 7x3 + 0x7 + 2x1 + 8x3 + 1x7 + 0 ×1 + 0x3 + 0x7 + 0x1 + 0x3 + 0x7 + 0x1 + 0x7 + 0x1 + 0x1 + 0x3 + 1x7 + 4x1). Det sidste ciffer er 5, gang det med 3 og få 15. Fra dette tal tager vi det sidste ciffer, det er kontrollen. I vores tilfælde er dette tallet 5. Kontrol af rigtigheden af ​​en bestemt afregningskonto udføres i henhold til samme algoritme. Rigtigheden af ​​et bestemt bankkontonummer angives ved, at det sidste ciffer i den vægtede sum er lig med nul. Så for det givne eksempel er den vægtede sum 150 = (5x7 + 1x1 + 2x3) + (4x7 + 0x1 + 7x3 + 0x7 + 2x1 + 8x3 + 1x7 + 0x1 + 5x3 + 0x7 + 0x1 + 0x3 + 0x7 + 0x3 + 0x7 + + 0x7 + 0x1 + 0x3 + 1x 7 + 4x1). Nul i slutningen indikerer korrekthed.

Bankkortnumre

Mir bankkortnumre starter altid med tallet 2, American Express , Diners Club og JCB starter med tallet 3, VISA starter med 4, MasterCard med 5 og Maestro med 6.

Algoritmen er den samme som for International Securities Identification Code.

International Securities Identification Number (ISIN)

Kontrolsummer beregnes ved hjælp af Luhn-algoritmen. Reglen om at fortsætte tabellen til venstre (for lange tal) og afkorte den for korte tal er indlysende.

Hvis der er engelske bogstaver i den internationale værdipapiridentifikationskode , erstattes hver af dem med 2 cifre, der repræsenterer serienummeret på bogstavet i det latinske alfabet , øget med 9 (det vil sige A ~ 10, B ~ 11, .. ., Z ~ 35). Så bogstaverne RU erstattes af 2730.

k 16k 15k 14 k 13k 12k 11 k 10k9 _k 8 k 7k6 _k5 _ k4 _k 3k2 _ k 1
bankkort, 16 cifre 2en2 en2en2 en2en2 en2en2 en
værdipapirer
bankkort, 13 cifre

Kontrolsum: kodecifrene ganges med koefficienterne fra tabellen, hvis multiplikationsresultatet overstiger 9, subtraheres 9 fra det, tilføj de resulterende tal. I denne sum tager vi det sidste ciffer, kasserer resten (det vil sige resten af ​​at dividere med 10). Hvis kontrolsummen er 0, genkendes tallet som korrekt. Gendannelse af "kontrolnummeret" svarer til metoden for en stregkode.

Specifikke eksempler:

4000-0000-0000-6 - 13-cifret Visa -bankkort .

Произведения: 4×1, 0×2, 0×1, 0×2, 0×1, 0×2, 0×1, 0×2, 0×1, 0×2, 0×1, 0×2, 6×1;
После вычитания 9: 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6;
Их сумма: 10; Kontrolsum = 0 - tallet er korrekt.

5610-0000-0000-0001 - 16-cifret australsk bankkort .

Произведения: 5×2, 6×1, 1×2, 0×1, 0×2, 0×1, 0×2, 0×1, 0×2, 0×1, 0×2, 0×1, 0×2, 0×1, 0×2, 1×1;
После вычитания 9: 1, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1;
Их сумма: 10; Kontrolsum = 0 - tallet er korrekt.

RU0007661625 - ISIN-aktier i Gazprom med en pålydende værdi på 5 rubler .

Vi erstatter bogstaverne RU med 2730 og får det 14-cifrede nummer 27300007661625, som vi tjekker. Kontrolsum = 0 - tallet er korrekt. Произведения: 2×2, 7×1, 3×2, 0×1, 0×2, 0×1, 0×2, 7×1, 6×2, 6×1, 1×2, 6×1, 2×2, 5×1;
После вычитания 9: 4, 7, 6, 0, 0, 0, 0, 7, 3, 6, 2, 6, 4, 5;
Их сумма: 50;

DE0001136927 er et eksempel på en ISIN fra Bank of Estonias websted .

Vi erstatter bogstaverne DE med 1314 og får et 14-cifret tal 13140001136927. Checksum = 0 - tallet er korrekt. Произведения: 1×2, 3×1, 1×2, 4×1, 0×2, 0×1, 0×2, 1×1, 1×2, 3×1, 6×2, 9×1, 2×2, 7×1;
После вычитания 9: 2, 3, 2, 4, 0, 0, 0, 1, 2, 3, 3, 9(!), 4, 7;
Их сумма: 40;

Forsikringsnummer for en individuel personlig konto (Rusland)

Forsikringsnummeret på en individuel personlig konto på et forsikringsbevis for obligatorisk pensionsforsikring (alias SNILS) kontrolleres for rigtighed af et kontrolnummer. SNILS har formen: "XXX-XXX-XXX YY", hvor XXX-XXX-XXX er selve tallet, og YY er kontrolnummeret.

Algoritmen til at generere SNILS-kontrolnummeret er som følger:

  1. Kontrol af kontrolnummeret på forsikringsnummeret udføres kun for numre større end nummeret 001-001-998
  2. SNILS kontrolnummeret beregnes som følger:
  1. Hvert SNILS-ciffer ganges med dets positionsnummer (positioner tælles fra slutningen, dvs. til højre)
  2. De resulterende værker er opsummeret
  3. Få resten efter at have divideret med 101
  4. Hvis det blev 100, er kontroltallet 0

For eksempel: SNILS 112-233-445 95 er angivet. Kontroller korrektheden af ​​kontrolnummeret:

Sum = 1x9 + 1x8 + 2x7 + 2x6 + 3x5 + 3x4 + 4x3 + 4x2 + 5x1 = 95. Summen er YY (tjeknummer). Kontrol nummer 95 er korrekt.

Denne algoritme er ikke i stand til at detektere alle tilfælde af fejl i ét ciffer (f.eks. er tallene 087-654-303 00 og 087-654-302 00 forskellige med ét ciffer, men begge vil blive genkendt som korrekte). Det er heller ikke i alle tilfælde, at der kan detekteres en permutationsfejl på to tilstødende cifre (f.eks. 087-654-303 00 og 086-754-303 00). Årsagen er afsnit 2.4, hvor det samme kontrolnummer 00 er indstillet for tætnummer 100 og 101.

Hvis algoritmen "Hvis summen er lig med eller større end 100, så er kontrolnummeret lig med de sidste to cifre i denne sum (resten af ​​at dividere summen med 100)" blev brugt i stedet for de sidste to underafsnit i check, så ville den være i stand til at detektere alle tilfælde af fejl i et ciffer og alle tilfælde af fejlagtig permutation af to tilstødende cifre.

TIN-numre

Der er 10-cifrede - for juridiske enheder, et kontrolciffer i slutningen; og 12-cifret - for enkeltpersoner og individuelle iværksættere, to kontrolcifre: næstsidste (n1) og sidste (n2) ciffer i TIN .

k 1k2 _ k 3k4 _k5 _ k6 _k 7k 8 k9 _k 10k 11 k 12
beregning af checknummer n 1

for 12-cifret TIN

72fireti359 fire6otte
beregning af checknummer n 2

for 12-cifret TIN

372fireti 359fire 6otte
beregning af checknummer n 1

for 10-cifret TIN

Det er mere praktisk at kontrollere TIN-nummeret ved at beregne kontrolnumre:

Eksempler:

TIN 500100732259 - 12 cifre (individuel eller individuel iværksætter).

148= 11*13 + 5(resten); Resten matcher det næstsidste ciffer i TIN, dette er et kontrolciffer

141= 11*12 +9 (resten); Resten matcher det sidste ciffer i TIN, dette er endnu et kontrolciffer. Begge kontrolnumre stemmer overens, tallet er korrekt.

TIN 7830002293 - 10 cifre (juridisk enhed, St. Petersburg Papir Mill Goznak ).

Шаг 2: 7*2+ 8*4+ 3*10+ 0*3+ 0*5+ 0*9+ 2*4+ 2*6+ 9*8= 168 168 ÷ 11 = 15,27
168 = 11 x 15 + 3(остаток) Kontrolnummeret passer, nummeret er korrekt.

OKPO nummer

Metoden til at beregne kontrolnummeret for OKPO -koden (den samme for alle statistikkoder).

Kontrolsummen beregnes som følger:

Hvis resultatet er en rest på 10, så for at sikre en et-cifret paritet, er det nødvendigt at genberegne ved hjælp af en anden sekvens af vægte flyttet to cifre til venstre (3, 4, 5, ...).

VIGTIGT: Hvis der beregnes et kontroltegn for en ti-cifret OKPO, vil sekvensen af ​​vægte ende med 1 (!!), det vil sige ikke (3,4,5,6,7,8,9,10, 11), men (3,4,5,6,7,8,9,10,1).

Hvis, i tilfælde af genberegning, resten af ​​divisionen igen er lig med 10, så sættes værdien af ​​kontroltallet lig med "0".

Et eksempel på kontrol af checknummeret for kode 47296611:

Kode 4 7 2 9 6 6 1 1 Ciffervægt 1 2 3 4 5 6 7

Summen af ​​produkterne opnået ved at gange hvert ciffer i koden med vægten af ​​cifferet er lig med:

4 x 1 + 7 x 2 + 2 x 3 + 9 x 4 + 6 x 5 + 6 x 6 + 1 x 7 = 133.

133 = 11 * 12 + 1;

Resten af ​​at dividere det modtagne beløb med 11 er 1. Kontrolcifferet i koden er 1 (det sidste ciffer). Kontrolnummer (resten) = 1 - matcher kontrolcifferet = 1, tallet er korrekt.


Det er vigtigt at bemærke, at i tilfælde af OKPO skal nummeret for juridiske enheder bestå af 8 cifre, og for individuelle iværksættere af 10. Glem derfor ikke at tilføje foranstillede nuller, før du tjekker antallet. For eksempel er OKPO IP 148543122, og for at kontrollere nummeret skal du sende 0148543122.

OKATO nummer

OKATO - nummeret kan være koden for sektionen "Objekter for administrativ-territorial opdeling, undtagen for landbebyggelse", som indeholder fra 2 til 8 cifre, eller koden for sektionen "Landlige bebyggelser" (11 cifre) [1] . Et kontrolnummer (et ciffer) kan tilføjes til koden, der danner en "identifikationsblok" med et ciffer mere (9 cifre for en 8-cifret kode).

Tjek talberegning

I OKATO-koden er beregningen af ​​kontrolnummeret underlagt den generelle standard [2] .

  • Hvert ciffer i koden for den all-russiske klassifikator, startende fra det højeste ciffer, tildeles en vægt svarende til den naturlige række af tal fra 1 til 10. Hvis koden er mere end 10, gentages vægtsættet.
  • Hvert ciffer i koden ganges med cifferets vægt, og summen af ​​de resulterende produkter beregnes.
  • Kontrolnummeret for hver kode er resten af ​​at dividere det resulterende beløb med tallet 11.
  • Kontrolcifferet skal have et ciffer, hvis værdi er mellem 0 og 9.
  • For at kontrollere OKATO-kodens kontrolnummer skal OKATO-koden indeholde 3, 6 eller 9 tegn, det vil sige inkludere kontrolnummeret. For at beregne OKATO-kodens kontrolnummer skal koden bestå af 2, 5 eller 8 tegn.

Hvis resultatet er en rest på 10, så for at sikre en et-cifret paritet, er det nødvendigt at genberegne ved hjælp af en anden sekvens af vægte forskudt to cifre til venstre (det vil sige begyndende sådan: 3, 4, 5, . ..).

Hvis, i tilfælde af en genberegning, resten af ​​divisionen igen er lig med 10, antages værdien af ​​kontroltallet at være 0.

Et eksempel på en kontrolnummerberegning

Kode: 5 6 3 9 2 1 Ciffervægt: 1 2 3 4 5 6

Summen af ​​produkterne opnået ved at gange hvert ciffer i koden med vægten af ​​cifferet er 5 1 + 6 2 + 3 3 + 9 4 + 2 5 + 1 6 = 78.

Resten efter at have divideret den resulterende mængde med 11 er 1: 78 = 11 * 7 + 1.

Kontrolsummen for denne kode er 1.

10-cifret ISBN

ISBN [3] har 10 cifre, ISSN har  8 cifre. Den sidste er kontrol. I tilfælde af at det sidste ciffer erstattes af bogstavet "X", erstattes det med tallet 10, når kontrolsummen beregnes.

k 10k9 _k 8 k 7k6 _k5 _ k4 _k 3k2 _ k 1
ISBN,
10 cifre
ti9otte76 5fire32 en
ISSN,
8 cifre

Kontrolsummen er forskellen mellem tallet 11 og resten af ​​at dividere med 11 summen af ​​cifrene i tallet, ganget med de tilsvarende koefficienter fra tabellen.

Gendannelse af "checknummeret" ligner metoden for en stregkode, men i stedet for "0" skal du erstatte tallet "11 - checksum". Hvis kontrolsummen er 1, erstatter vi "tallet" 10, det vil sige bogstavet "X".

Når du anvender et ISBN på en bog i form af en stregkode, fjernes dets eget kontrolciffer, præfikset 978 (eller 979, dette præfiks er ikke brugt endnu) tildeles til venstre. Når ISSN påføres journalen i form af en stregkode, fjernes dets eget kontrolciffer, præfikset 977 tildeles til venstre, og 2 cifre tildeles til højre, med nogle yderligere oplysninger, som ikke er indeholdt direkte i journalen. ISSN (normalt 00 for betalte publikationer). Yderligere, i begge tilfælde, er kontrolcifferet beregnet af stregkodens 13-cifrede algoritme tildelt til højre.

Specifikke eksempler:

ISBN 5-93286-005-7 (bog - F. Brooks. "Mythical man-month", St. Petersburg, Symbol, 2000)

5×10+ 9×9+ 3×8+ 2×7+ 8×6+ 6×5+ 0×4+ 0×3+ 5×2+ 7×1=
50+ 81+ 24+ 14+ 48+ 30+ 0+ 0+ 10+ 7= 264= 24* 11+ 0(остаток). Kontrolsum (resten) = 0 - tallet er korrekt.

ISBN 0-446-52087-X (bog - E. Gordeeva . "My Sergei", A Time Warner Company.)

0×10+ 4×9+ 4×8+ 6×7+ 5×6+ 2×5+ 0×4+ 8×3+ 7×2+ 10×1=
0+ 36+ 32+ 42+ 30+ 10+ 0+ 24+ 14+ 10= 198= 18* 11+ 0(остаток). Kontrolsum (resten) = 0 - tallet er korrekt.

ISSN 0033-765X (magasin - "Radio", 2-2006.)

0×8+ 0×7+ 3×6+ 3×5+ 7×4+ 6×3+ 5×2+ 10×1=
0+ 0+ 18+ 15+ 28+ 18+ 10+ 10= 99= 9* 11+ 0(остаток). Kontrolsum (resten) = 0 - tallet er korrekt.

OGRN- og OGRNIP-numre

Består af 13 (eller 15) cifre, hvoraf den sidste - n 1  - kontrol.

Kontrolcifferet er lig med resten af ​​divisionen med 11 (eller 13) af tallet bestående af de første 12 (eller 14) cifre. Hvis resten er større end 9, så er n 1 = det sidste ciffer i resten.

Eksempler:

1037739010891 - 13 cifre, OGRN .
Beregn resten: −1+0-3+7-7+3-9+0-1+0-8+9 = −10( Pascal-tegn )
−10 + 11 = 1(resten)
Tjektal = 1 — matcher , nummeret er korrekt.

1035006110083 - 13 cifre, PSRN.
Beregn resten: 103500611008 = 11 • 9409146455 + 3(resten) Tjeknummer
= 3 - matcher, tallet er korrekt.

1037739010891 - 13 cifre, PSRN.
Beregn resten: 103773901089 = 11 • 9433991008 + 1(resten)
Tjek nummer = 1 - matcher, tallet er korrekt.

304500116000157 - 15 cifre, OGRNIP .
Beregn resten: 30450011600015 = 13 • 2342308584616 + 7(resten) Tjeknummer
= 7 - matcher, tallet er korrekt.

304463210700212 - 15 cifre, OGRNIP.
Beregn resten: 30446321070021 = 13 • 2342024697693 + 12(resten) Tjektal
= 2 — matcher det sidste ciffer i resten, tallet er korrekt.

Vehicle Identification Number (VIN)

ISO 3779-1983 standarden, som specificerer strukturen af ​​et køretøjs VIN , anbefaler at placere en kontrolsum i den 9. position af VIN - et tal beregnet i henhold til en algoritme defineret af standarden, hvis værdi afhænger af værdierne af alle andre tegn i VIN.

Hvis en kontrolsum bruges i 9. position, er følgende værdier tilladt der: tallene 0 ... 9 eller X. Hvis et andet tegn er i 9. position, vil et sådant VIN ikke bestå testen. Hvis dette er VIN-koden for et køretøj beregnet til det nordamerikanske marked, så er det enten kopieret fra et forkert stavet køretøj eller er blevet overskrevet.

Eksempel på beregning af kontrolsum:

  • Vi tager VIN, for eksempel JHMCM56557C404453, og udfylder nedenstående tabel:
VIN position en 2 3 fire 5 6 7 otte CHK ti elleve 12 13 fjorten femten 16 17
VIN J H M C M 5 6 5 5 7 FRA fire 0 fire fire 5 3
  • Vi erstatter bogstaver med tal i overensstemmelse med tabellen:
Brev EN B C D E F G H J K L M N P R S T U V W x Y Z
Digital ækvivalent en 2 3 fire 5 6 7 otte en 2 3 fire 5 7 9 2 3 fire 5 6 7 otte 9
  • Vi udfylder nedenstående tabel, hvor for hvert VIN-tegn dets "vægt" er angivet:
VIN position en 2 3 fire 5 6 7 otte 9 ti elleve 12 13 fjorten femten 16 17
Vægten otte 7 6 5 fire 3 2 ti CHK 9 otte 7 6 5 fire 3 2
Digital ækvivalent en otte fire 3 fire 5 6 5 CHK 7 3 fire 0 fire fire 5 3
  • Vi tilføjer produkterne af hvert VIN-karakter efter dets "vægt":

1*8 + 8*7 + 4*6 + 3*5 + 4*4 + 5*3 + 6*2 + 5*10 + 7*9 + 3*8 + 4*7 + 0*6 + 4* 5 + 4*4 + 5*3 + 3*2 = 368

  • Beregn det nærmeste mindste heltals multiplum af 11:

368/11 = 33,5

33 * 11 = 363

  • Forskellen mellem resultatet i afsnit 5 og det nærmeste mindste multiplum af 11 er registreret i det niende tegn i VIN:en:

CHK = 368-363 = 5 Hvis CHK = 10, så skrives "X" (romersk 10) i 9. position i VIN.

Noter

  1. All-russisk klassificering af objekter med administrativ-territorial opdeling. OK 019 95 (ikke tilgængeligt link) . Hentet 16. juni 2011. Arkiveret fra originalen 8. november 2011. 
  2. PR 50.1.024-2005 - Grundlæggende bestemmelser og procedurer for udvikling, vedligeholdelse og anvendelse af alle-russiske klassifikationsapparater Arkivkopi dateret 1. april 2016 på Wayback Machine .
  3. Siden 01/01/2007 modtager alle udgivere i Den Russiske Føderation kun 13-cifrede ISBN'er fra det russiske nationale agentur. Kontrolcifferet for det 13-cifrede ISBN beregnes ved hjælp af samme algoritme som kontrolcifferet for EAN-13 stregkoden.

Se også

  • Paritetsbitten  er det enkleste tilfælde af en kontrolsum.
  • Verhouffs algoritme  er en anden interessant tjekcifret beregningsalgoritme.
  • Luhn-  algoritmen er en algoritme til beregning af kontrolcifferet i overensstemmelse med ISO/IEC 7812-standarden.

Links