[TOC]
Metoda IsDocumentNumberCorrect w plikach src/mDowod-validator.js (javascript) oraz DocumentNumberValidator.cs (C#)
Sprawdza czy cyfra kontrolna numeru Dowodu / mDowodu / Paszportu / Karty pobytu jest poprawna.
Zgodna ze specyfikacjami ISO/IEC 7501-1:1997, ICAO 9303 https://www.icao.int/Meetings/TAG-MRTD/TagMrtd22/TAG-MRTD-22_WP03-rev.pdf strona 21 ICAO 9303-3 https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf#search=9303%2D3 strona 19
Literom przypisujemy liczby:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|A βB βC β Dβ Eβ Fβ Gβ Hβ Iβ Jβ Kβ Lβ Mβ Nβ Oβ Pβ Qβ Rβ Sβ Tβ Uβ Vβ Wβ Xβ Yβ Z |
|10β11β12β13β14β15β16β17β18β19β20β21β22β23β24β25β26β27β28β29β30β31β32β33β34β35 |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Algorytm obliczenia cyfry kontrolnej (CK) dla serii MAAA i numeru kolejnego 23456
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|Dane β M A A A CK 2 3 4 5 β |
|WartoΕci β 22 10 10 10 β«β« 2 3 4 5 β |
|Wagi β 7 3 1 7 β«β« 3 1 7 3 β |
|Iloczyny β 154 30 10 70 β«β« 6 3 28 15 β |
|ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ|
|Sumowanie β 154 + 30 + 10 + 70 + 6 + 3 + 28 + 15 = 316 |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(22β’7)+(10β’3)+(10β’1)+(10β’7)+(2β’3)+(3β’1)+(4β’7)+(5β’3) = 316
CK β£ 316 MOD 10 = 6
Reszta z dzielenia 316 MOD 10 = 6
Reszta z dzielenia stanowi cyfrΔ kontrolnΔ
i umieszczamy jΔ
za literami serii
Otrzymujemy: MAAA 6 2345
Autor wykonaΕ testy dostΔpnych mu numerΓ³w mDowodu w dostΔpnej wersji aplikacji mObywatel 2.0 w lipcu 2023.