Kolla numret

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 21 februari 2016; verifiering kräver 51 redigeringar .

Kontrollnummer , kontrollsiffra - ett slags kontrollsumma , vanligtvis läggs till i slutet av långa nummer för att initialt kontrollera deras korrekthet. Det används för att minska sannolikheten för fel vid bearbetning av sådana siffror: maskinläsning från förpackningen av varor, skrivning till dokument , röstöverföring från person till person, etc.

Förekomsten och korrektheten av kontrollnumret garanterar inte tillförlitligheten av numret i fråga (inklusive sparar inte från inkräktares handlingar ), men i praktiken skyddar det ganska bra från slumpmässiga fel.

Kontrollnumret är oftast antingen den sista siffran i summan av alla siffror i talet, eller resultatet av en annan matematisk operation på talen. I datorprogram har begreppet "kontrollnummer" generaliserats till CRC , paritetsbit och Reed-Solomon-koder ; och i vissa arkiverare är mängden kontrolldata sådan att den inte bara gör det möjligt att upptäcka ett fel, utan också att korrigera det ( detektering och korrigering av fel ).

Kontrollnumren som används i dokument tillåter vanligen att en förlorad siffra kan återställas, förutsatt att man vet på vilken plats i numret den ska vara och att de återstående siffrorna i numret är korrekta. Om det inte är känt vid vilken position det finns ett fel, måste du gå igenom alla möjliga alternativ (till exempel för ett 13-siffrigt nummer kommer det att finnas 13 av dem), och välja de mest troliga från dem (baserat på analysen av den meningsfulla informationen i numret). Att bara korrigera kontrollsiffran kan bara leda till ett större icke- matematiskt fel .

Fördelar och nackdelar

Felbeskrivning
Verhouffs algoritm

Månen algoritm
SHA1-algoritm
(uniform)
TIN-
rest efter
division med 11
OKPO
dubblar resten
av divisionen med 11
EAN13
Enstaka fel (6 istället för 7) 100 % 100 % 94,5 % 98,1 % 100 % 100 %
Permutationer av närliggande siffror (67 istället för 76) 100 % 97,7 % 94,5 % 98,1 % 100 % 88,8 %
Dubbla fel (66 istället för 77) 95,5 % 93,3 % 94,5 % 98,1 % 81,8 % 88,8 %
Permutationer av udda/jämna siffror (637 istället för 736) 94,2 % 0 % 94,5 % 98,1 % 100 % 0 %
Permutationer av valfri siffra positioner (6327 istället för 7326) 94,9 % 58,6 % 94,5 % 98,1 % 100 % 53,3 %
Dubbla fel i icke-intilliggande siffror (636 istället för 737) 94,2 % 100 % 94,5 % 98,1 % 100 % 88,8 %
Infoga valfri siffra - (67 istället för 6) 90 % 94 % 94,5 % 90,6 % 93,0 % 91,4 %
Duplicera valfri siffra (66 istället för 6) 90 % 93,8 % 94,5 % 89,2 % 93,5 % 90 %

Nackdelarna med algoritmen har traditionellt tillskrivits dess höga, i jämförelse med andra algoritmer, komplexitet. Det är ganska svårt att göra alla beräkningar manuellt, speciellt för långa sekvenser. Men med maskinverifiering spelar inte komplexiteten i beräkningarna någon avgörande roll, vilket gör det möjligt att använda Verhouff-algoritmen när du kontrollerar inmatade värden i olika enheter.

Exempel på användning av kontrollnummer i dokument

I exempel beräknas en funktion ( kontrollsumma) vanligtvis från siffrorna i numret. Om det är lika med 0, så anses talet som korrekt. I vissa fall är det bekvämare att beräkna kontrollnumret och jämföra det med det befintliga. Formellt kan kontrollsumman betraktas som skillnaden mellan tillgängliga och beräknade checktal.

Siffrorna i numret är numrerade från höger till vänster: …n 3 n 2 n 1 , samt motsvarande koefficienter …k 3 k 2 k 1 .

Vanligtvis finns meningsfull information (landskod, produktkod, bankkod, etc.) till vänster om numret, och kontrollnumret (siffran) är den sista (längst till höger) och har siffran 1 (n 1 ), men ur en matematisk synvinkel är alla sifferkoder som regel lika, och vilken som helst av dem kan betraktas som en kontroll för resten. Innebörden av innehållsdelen av numret finns i beskrivningen av motsvarande kod.

Produktnummer: olika typer av streckkoder

Streckkodskontrollsummor beräknas med en liknande algoritm. Dessutom används samma algoritm (tabellen är trunkerad eller fortsätter till vänster enligt den uppenbara regeln) i många andra fall, till exempel för produktnummer i butik.

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

Kontrollsumman är resten av att dividera med 10 summan av siffrorna i numret, multiplicerat med motsvarande koefficienter från tabellen. Om kontrollsumman är 0, känns numret som korrekt.

Om du behöver beräkna det nödvändiga kontrollnumret för ett godtyckligt tal, måste du först sätta "0" längst till höger, beräkna kontrollsumman och sedan, om den inte är lika med noll, ersätta denna "0" med "10 - kontrollsumma".

Specifika exempel:

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

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. Kontrollsumma = 0 - siffran är korrekt.

46009333 (" Belomorkanal " cigaretter) - kod 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. Kontrollsumma = 0 - siffran är korrekt.

041689300494 ( bensin för Zippo - tändare ) - UPC-12-kod.

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. Kontrollsumma = 0 - siffran är korrekt.

Kontrollera nummeråterställning. Det angivna numret är 460154602129?, EAN-13 med en kontrollsiffra "?" som saknas.

För 4601546021290: Kontrollsumman är det minsta talet som måste läggas till det beräknade värdet för att få en multipel av 10. I vårt fall är den närmaste multipeln av "10" till "82" "90". Till "82" måste du lägga till "8" för att få "90". Därför är kontrollnumret "8" per definition, och numret du letar efter är 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.

Bankkontonummer

För att beräkna kontrollsiffran för ett bankkonto (den nionde siffran i kontonumret) används följande algoritm: 3 siffror läggs till i början av det aktuella kontonumret, motsvarande de tre sista siffrorna i bankens BIC . Vi får ett antal på 23 siffror, där kontrollsiffran är på 12:e plats. Om vi ​​ska kontrollera eller beräkna kontrollsiffran för ett korrespondentkonto, tar vi för de första tre siffrorna noll ('0') och två siffror i det villkorliga numret för RCC, som motsvarar den femte och sjätte siffran i bankens BIC.

Ett exempel på beräkning av kontrollsiffran för ett löpande konto:

konto 40702810?000000000014
BIC 044544512

I initialtillståndet är alla siffror kända, förutom kontrollsiffran, den ersätts med noll. För beräkningar används en speciell uppsättning viktkoefficienter: 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1.
Summan av produkterna av positionssiffran och positionsvikten beräknas.
Den sista siffran i detta belopp, multiplicerad med 3, kommer att vara kontrollsiffran.
Här är den viktade summan 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). Den sista siffran är 5, multiplicera den med 3 och få 15. Från denna siffra tar vi den sista siffran, det är kontrollen. I vårt fall är detta siffran 5. Kontroll av riktigheten av ett visst avräkningskonto utförs enligt samma algoritm. Korrektheten av ett visst bankkontonummer indikeras av att den sista siffran i den viktade summan är lika med noll. Så för det givna exemplet är den viktade summan 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). Noll i slutet indikerar korrekthet.

Bankkortsnummer

Mir bankkortsnummer börjar alltid med siffran 2, American Express , Diners Club och JCB börjar med siffran 3, VISA börjar med 4, MasterCard med 5 och Maestro med 6.

Algoritmen är densamma som för International Securities Identification Code.

International Securities Identification Number (ISIN)

Kontrollsummor beräknas med hjälp av Luhn-algoritmen. Regeln att fortsätta tabellen till vänster (för långa nummer) och trunkera den för korta nummer är uppenbar.

Om det finns engelska bokstäver i International Securities Identification Code , ersätts var och en av dem med 2 siffror, som representerar serienumret på bokstaven i det latinska alfabetet , ökat med 9 (det vill säga A ~ 10, B ~ 11, .. ., Z ~ 35). Så bokstäverna RU ersätts med 2730.

k 16k 15k 14 k 13k 12k 11 k 10k9 _k 8 k 7k6 _k5 _ k4 _k 3k2 _ k 1
bankkort, 16 siffror 2ett2 ett2ett2 ett2ett2 ett2ett2 ett
värdepapper
bankkort, 13 siffror

Kontrollsumma: kodsiffrorna multipliceras med koefficienterna från tabellen, om multiplikationsresultatet överstiger 9, subtrahera sedan 9 från det, lägg till de resulterande talen. I denna summa tar vi den sista siffran, kasserar resten (det vill säga resten av att dividera med 10). Om kontrollsumman är 0, känns numret som korrekt. Återställning av "kontrollnumret" liknar metoden för en streckkod.

Specifika exempel:

4000-0000-0000-6 - 13-siffrigt 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; Kontrollsumma = 0 - siffran är korrekt.

5610-0000-0000-0001 - 16-siffrigt australiskt 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; Kontrollsumma = 0 - siffran är korrekt.

RU0007661625 - ISIN-aktier i Gazprom med ett nominellt värde av 5 rubel .

Vi ersätter bokstäverna RU med 2730 och får det 14-siffriga numret 27300007661625, som vi kontrollerar. Kontrollsumma = 0 - siffran är 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 är ett exempel på ett ISIN från Bank of Estonias webbplats .

Vi ersätter bokstäverna DE med 1314 och får ett 14-siffrigt nummer 13140001136927. Kontrollsumma = 0 - siffran är 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;

Försäkringsnummer för ett individuellt personligt konto (Ryssland)

Försäkringsnumret för ett individuellt personligt konto för ett försäkringsbevis för obligatorisk pensionsförsäkring (alias SNILS) kontrolleras för korrekthet med ett kontrollnummer. SNILS har formen: "XXX-XXX-XXX YY", där XXX-XXX-XXX är själva numret och YY är kontrollnumret.

Algoritmen för att generera SNILS-kontrollnumret är som följer:

  1. Kontroll av försäkringsnumrets kontrollnummer utförs endast för nummer större än numret 001-001-998
  2. SNILS-kontrollnumret beräknas enligt följande:
  1. Varje SNILS-siffra multipliceras med sitt positionsnummer (positioner räknas från slutet, det vill säga till höger)
  2. De resulterande verken sammanfattas
  3. Få resten efter att ha dividerat med 101
  4. Om det blev 100 är kontrollnumret 0

Till exempel: SNILS 112-233-445 95 anges. Kontrollera att kontrollnumret är korrekt:

Summa = 1x9 + 1x8 + 2x7 + 2x6 + 3x5 + 3x4 + 4x3 + 4x2 + 5x1 = 95. Summan är YY (kontrollnummer). Kontrollera nummer 95 är korrekt.

Denna algoritm kan inte upptäcka alla fall av fel med en siffra (till exempel skiljer sig siffrorna 087-654-303 00 och 087-654-302 00 med en siffra, men båda kommer att kännas igen som korrekta). Inte i alla fall kan ett permutationsfel med två intilliggande siffror detekteras (till exempel 087-654-303 00 och 086-754-303 00). Anledningen är punkt 2.4, där samma kontrollnummer 00 är satt för nära nummer 100 och 101.

Om algoritmen "Om summan är lika med eller större än 100, då är kontrollnumret lika med de två sista siffrorna i denna summa (återstoden av att dividera summan med 100)" användes istället för de två sista styckena i kontrollera, då skulle den kunna detektera alla fall av fel i en siffra och alla fall av felaktig permutation av två intilliggande siffror.

TIN-nummer

Det finns 10-siffriga - för juridiska personer, en kontrollsiffra i slutet; och 12-siffrig - för individer och enskilda företagare, två kontrollsiffror: den näst sista (n1) och sista (n2) siffran i TIN .

k 1k2 _ k 3k4 _k5 _ k6 _k 7k 8 k9 _k 10k 11 k 12
beräkning av checknummer n 1

för 12-siffrigt TIN

72fyratio359 fyra6åtta
beräkning av checknummer n 2

för 12-siffrigt TIN

372fyratio 359fyra 6åtta
beräkning av checknummer n 1

för 10-siffrigt TIN

Det är bekvämare att kontrollera TIN-numret genom att beräkna kontrollnummer:

Exempel:

TIN 500100732259 - 12 siffror (enskild eller enskild företagare).

148= 11*13 + 5(återstoden); Resten matchar den näst sista siffran i TIN, detta är en kontrollsiffra

141= 11*12 +9 (återstoden); Resten matchar den sista siffran i TIN, detta är en annan kontrollsiffra. Båda kontrollnumren matchar, numret är korrekt.

TIN 7830002293 - 10 siffror (juridisk person, St. Petersburgs pappersbruk 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(остаток) Kontrollnumret stämmer, numret är korrekt.

OKPO-nummer

Metoden för att beräkna kontrollnumret för OKPO- koden (samma för alla statistikkoder).

Kontrollsumman beräknas enligt följande:

Om resultatet är en återstod av 10, då för att säkerställa en ensiffrig paritet, är det nödvändigt att räkna om med hjälp av en andra sekvens av vikter förskjuten två siffror åt vänster (3, 4, 5, ...).

VIKTIGT: Om ett kontrolltecken beräknas för en tiosiffrig OKPO, kommer viktsekvensen att sluta med 1 (!!), det vill säga inte (3,4,5,6,7,8,9,10, 11), men (3,4,5,6,7,8,9,10,1).

Om, vid omräkning, återstoden av divisionen återigen är lika med 10, så sätts värdet på kontrollnumret lika med "0".

Ett exempel på kontroll av kontrollnumret för kod 47296611:

Kod 4 7 2 9 6 6 1 1 Siffervikt 1 2 3 4 5 6 7

Summan av produkterna som erhålls genom att multiplicera varje siffra i koden med siffrans vikt är lika 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;

Återstoden av att dividera det mottagna beloppet med 11 är 1. Kontrollsiffran i koden är 1 (den sista siffran). Kontrollnummer (resten) = 1 - matchar kontrollsiffran = 1, numret är korrekt.


Det är viktigt att notera att i fallet med OKPO måste numret för juridiska personer bestå av 8 siffror, och för enskilda företagare av 10. Glöm därför inte att lägga till inledande nollor innan du kontrollerar numret. Till exempel är OKPO IP 148543122, och för att kontrollera numret måste du skicka 0148543122.

OKATO nummer

OKATO - numret kan vara koden för avsnittet "Objekt för administrativ-territoriell indelning, utom för bebyggelse på landsbygden", som innehåller från 2 till 8 siffror, eller koden för avsnittet "Landsbygdsbosättningar" (11 siffror) [1] . Ett kontrollnummer (en siffra) kan läggas till koden och bildar ett "identifikationsblock" med ytterligare en siffra (9 siffror för en 8-siffrig kod).

Kontrollera antal beräkning

I OKATO-koden är beräkningen av kontrollnumret föremål för den allmänna standarden [2] .

  • Varje siffra i koden för den allryska klassificeraren, med början från den högsta siffran, tilldelas en vikt som motsvarar den naturliga serien av siffror från 1 till 10. Om koden är mer än 10, upprepas uppsättningen vikter.
  • Varje siffra i koden multipliceras med siffrans vikt och summan av de resulterande produkterna beräknas.
  • Kontrollnumret för varje kod är resten av att dividera det resulterande beloppet med siffran 11.
  • Kontrollsiffran måste ha en siffra, vars värde är mellan 0 och 9.
  • För att kontrollera OKATO-kodens kontrollnummer måste OKATO-koden innehålla 3, 6 eller 9 tecken, det vill säga inkludera kontrollnumret. För att beräkna OKATO-kodens kontrollnummer måste koden bestå av 2, 5 eller 8 tecken.

Om resultatet är en återstod av 10, för att säkerställa en ensiffrig paritet, är det nödvändigt att räkna om med hjälp av en andra sekvens av vikter skiftade två siffror åt vänster (det vill säga börjar så här: 3, 4, 5, . ..).

Om, vid en omräkning, återstoden av divisionen återigen är lika med 10, antas värdet på kontrollnumret vara 0.

Ett exempel på en checknummerberäkning

Kod: 5 6 3 9 2 1 Siffervikt: 1 2 3 4 5 6

Summan av produkterna som erhålls genom att multiplicera varje siffra i koden med siffrans vikt är 5 1 + 6 2 + 3 3 + 9 4 + 2 5 + 1 6 = 78.

Återstoden efter att ha dividerat det resulterande beloppet med 11 är 1: 78 = 11 * 7 + 1.

Kontrollsumman för denna kod är 1.

10-siffrigt ISBN

ISBN [3] har 10 siffror, ISSN har  8 siffror. Den sista är kontroll. I händelse av att den sista siffran ersätts med bokstaven "X", när kontrollsumman beräknas, ersätts den med siffran 10.

k 10k9 _k 8 k 7k6 _k5 _ k4 _k 3k2 _ k 1
ISBN,
10 siffror
tio9åtta76 5fyra32 ett
ISSN,
8 siffror

Kontrollsumman är skillnaden mellan talet 11 och resten av att dividera med 11 summan av siffrorna i numret, multiplicerat med motsvarande koefficienter från tabellen.

Återställning av "kontrollnummer" liknar metoden för en streckkod, men istället för "0" måste du ersätta numret "11 - kontrollsumma". Om kontrollsumman är 1, så ersätter vi "talet" 10, det vill säga bokstaven "X".

När man applicerar ett ISBN på en bok i form av en streckkod, tas dess egen kontrollsiffra bort, prefixet 978 (eller 979, detta prefix används inte ännu) tilldelas till vänster. När ISSN appliceras på journalen i form av en streckkod tas dess egen kontrollsiffra bort, prefixet 977 tilldelas till vänster och 2 siffror tilldelas till höger, med ytterligare information som inte finns direkt i ISSN (vanligtvis 00 för betalda publikationer). Vidare, i båda fallen, tilldelas kontrollsiffran som beräknas av den 13-siffriga algoritmen för streckkoden till höger.

Specifika exempel:

ISBN 5-93286-005-7 (bok - 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(остаток). Kontrollsumma (resten) = 0 - siffran är korrekt.

ISBN 0-446-52087-X (bok - 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(остаток). Kontrollsumma (resten) = 0 - siffran är korrekt.

ISSN 0033-765X (tidning - "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(остаток). Kontrollsumma (resten) = 0 - siffran är korrekt.

OGRN- och OGRNIP-nummer

Består av 13 (eller 15) siffror, varav den sista - n 1  - kontroll.

Kontrollsiffran är lika med resten av divisionen med 11 (eller 13) av talet som består av de första 12 (eller 14) siffrorna. Om resten är större än 9, då är n 1 den sista siffran i resten.

Exempel:

1037739010891 - 13 siffror, OGRN .
Beräkna resten: −1+0-3+7-7+3-9+0-1+0-8+9 = −10( Pascal-tecken )
−10 + 11 = 1(resten)
Checknummer = 1 — matchar , numret är korrekt.

1035006110083 - 13 siffror, PSRN.
Beräkna resten: 103500611008 = 11 • 9409146455 + 3(resten)
Kontrollera nummer = 3 - matchar, siffran är korrekt.

1037739010891 - 13 siffror, PSRN.
Beräkna resten: 103773901089 = 11 • 9433991008 + 1(resten)
Kontrollera nummer = 1 - matchar, siffran är korrekt.

304500116000157 - 15 siffror, OGRNIP .
Beräkna resten: 30450011600015 = 13 • 2342308584616 + 7(återstående)
Kontrollnummer = 7 - matchar, siffran stämmer.

304463210700212 - 15 siffror, OGRNIP.
Beräkna resten: 30446321070021 = 13 • 2342024697693 + 12(resten)
Kontrollnummer = 2 — matchar den sista siffran i resten, siffran är korrekt.

Vehicle Identification Number (VIN)

ISO 3779-1983-standarden, som specificerar strukturen för ett fordons VIN , rekommenderar att en kontrollsumma placeras i den 9:e positionen av VIN - ett tal beräknat enligt en algoritm som definieras av standarden, vars värde beror på värdena av alla andra tecken i VIN.

Om en kontrollsumma används på 9:e positionen är följande värden tillåtna där: siffrorna 0 ... 9 eller X. Om något annat tecken är på 9:e positionen kommer ett sådant VIN inte att klara testet. Om detta är VIN-koden för ett fordon avsett för den nordamerikanska marknaden, är det antingen kopierat från ett felstavat fordon eller har skrivits över.

Exempel på beräkning av kontrollsumma:

  • Vi tar VIN, till exempel JHMCM56557C404453, och fyller i tabellen nedan:
VIN-position ett 2 3 fyra 5 6 7 åtta CHK tio elva 12 13 fjorton femton 16 17
VIN J H M C M 5 6 5 5 7 FRÅN fyra 0 fyra fyra 5 3
  • Vi ersätter bokstäver med siffror i enlighet med tabellen:
Brev A B C D E F G H J K L M N P R S T U V W X Y Z
Digital motsvarighet ett 2 3 fyra 5 6 7 åtta ett 2 3 fyra 5 7 9 2 3 fyra 5 6 7 åtta 9
  • Vi fyller i tabellen nedan, där för varje VIN-tecken dess "vikt" anges:
VIN-position ett 2 3 fyra 5 6 7 åtta 9 tio elva 12 13 fjorton femton 16 17
Vikten åtta 7 6 5 fyra 3 2 tio CHK 9 åtta 7 6 5 fyra 3 2
Digital motsvarighet ett åtta fyra 3 fyra 5 6 5 CHK 7 3 fyra 0 fyra fyra 5 3
  • Vi lägger till produkterna för varje VIN-karaktär efter dess "vikt":

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

  • Beräkna närmaste minsta heltalsmultipel av 11:

368/11 = 33,5

33 * 11 = 363

  • Skillnaden mellan resultatet i punkt 5 och närmaste minsta multipel av 11 registreras i det nionde tecknet i VIN:et:

CHK = 368-363 = 5 Om CHK = 10, så skrivs "X" (Roman 10) på den 9:e positionen i VIN.

Anteckningar

  1. ↑ Allrysk klassificerare av föremål för administrativ-territoriell uppdelning. OK 019 95 (inte tillgänglig länk) . Hämtad 16 juni 2011. Arkiverad från originalet 8 november 2011. 
  2. PR 50.1.024-2005 - Grundläggande bestämmelser och procedurer för utveckling, underhåll och tillämpning av allryska klassificerare Arkivexemplar daterad 1 april 2016 på Wayback Machine .
  3. Sedan 01/01/2007 får alla utgivare i Ryska federationen endast 13-siffriga ISBN-nummer från det ryska nationella byrån. Kontrollsiffran för det 13-siffriga ISBN-numret beräknas med samma algoritm som kontrollsiffran för EAN-13-streckkoden.

Se även

  • Paritetsbiten  är det enklaste fallet av en kontrollsumma.
  • Verhouffs algoritm  är en annan intressant beräkningsalgoritm för kontrollsiffror.
  • Luhn-  algoritmen är en algoritm för att beräkna kontrollsiffran i enlighet med ISO/IEC 7812-standarden.

Länkar