Czym są cyfry kontrolne?
Cyfry kontrolne to dodatkowe wartości stosowane w różnych numerach identyfikacyjnych takich jak na przykład PESEL, numer konta bankowego czy NIP. Ich zadaniem jest wykrycie błędów popełnionych podczas ręcznego wprowadzenia danych. dla przykładu ostatnia cyfra w numerze PESEL jest cyfrą kontrolną.
W praktyce działa to następująco:
- Z cyfr numeru (bez cyfry kontrolnej) wykonuje się określone obliczenia,
- Uzyskany wynik wskazuje, jaka powinna być poprawna cyfra kontrolna,
- Jeśli podany numer nie zgadza się z wyliczeniem – system może w prosty sposób wykryć błąd.
Dzięki temu możliwe jest wychwycenie literówek lub przestawionych cyfr, zanim informacja zostanie przetworzona.
Po co stosujemy cyfry kontrolne?
Cyfry kontrolne pozwalają szybko zweryfikować poprawność wpisanego adresu, zminimalizować liczbę błędów w formularzach oraz zwiększyć bezpieczeństwo i wiarygodność danych w systemach administracji i usług cyfrowych.
To prosty mechanizm, który znacząco poprawia jakość danych w systemach informatycznych.
Budowa adresu e-Doręczeń
Każdy adres do e-Doręczeń ma zdefiniowaną strukturę. Składa się on liter i cyfr w następującym układzie:
AE:PL-XXXXX-XXXXX-YYYYY-ZZ
Gdzie:
- AE – to skrót od adres elektroniczny
- PL – kod kraju w standardzie ISO 3166 (w tym przykładzie Polski)
- Z – cyfry sumy kontrolnej.
Przykładowy adres:
AE:PL-12345-67890-ABCDE-25
W tym przykładzie 25 to cyfry sumy kontrolnej.
Algorytm wyliczenia cyfr kontrolnych w adresie e-Doręczeń
Poniżej znajduje się uproszczony opis działania algorytmu, dzięki któremu możemy weryfikować, czy adres został wpisany poprawnie.
- Zamiana liter na wartości liczbowe
Litery znajdujące się w sekcji Y z powyższego przykładu zamienia się na cyfrę zgodną z tablicą ASCII, a następnie sumuje.
Dla adresu „AE:PL- 12345-67890-ABCDE-12” litery ABCDE w ASCII mają wartości:
- A → 65
- B → 66
- C → 67
- D → 68
- E → 69
Suma liter: 65 + 66 + 67 + 68 + 69 = 335
- Zsumowanie sekcji numerycznych
Obie sekcje z cyframi oznaczonymi jako X oraz rozdzielonymi myślnikami należy zsumować.
Dla przykładowego adresu „AE:PL- 12345–67890-ABCDE-12”
12345 + 67890 = 80235
- Obliczanie różnicy i wartości bezwzględnej
Należy wyliczyć wartość bezwzględną z różnicy między sumą otrzymają w punkcie 1 oraz 2.
335 – 80235 = −79900
Wartość absolutna: 79900
- Zsumowanie cyfr otrzymanej liczby
Wszystkie cyfry uzyskane w punkcie 3 należy zsumować – dają one wynik 25. Uzyskana wartość to właśnie cyfry sumy kontrolnej dla podane powyżej adresu.
7 + 9 + 9 + 0 + 0 = 25
Cyfry sumy kontrolnej to drobny, ale istotny element adresu do e-Doręczeń. Pozwalają na szybkie i automatyczne wykrywanie błędów przy wprowadzaniu danych, dzięki czemu poprawiają jakość i bezpieczeństwo komunikacji cyfrowej. Mechanizm sumy kontrolnej pozwala zminimalizować ryzyko błędów ludzkich oraz zwiększa wiarygodność adresów.
Tego typu rozwiązania są powszechnie stosowane w usługach zaufania publicznego.
* ASCII – https://pl.wikipedia.org/wiki/ASCII
autor: Mariusz Wyszomierski, Główny Architekt w Zespole Interdyscyplinarnym Rejestrów Państwowych