Przejdź do treści

Generator CURP - Testowanie kodów identyfikacyjnych meksykańskich dokumentów

Generuj ważne testowe kody CURP dla rozwoju meksykańskich aplikacji. Darmowe narzędzie tworzy losowe 18-znakowe kody identyfikacyjne zgodnie z oficjalnym formatem RENAPO. Idealne do testowania, zasilania baz danych i walidacji API.

Wygeneruj losowy, syntaktycznie ważny przykład CURP z prawidłową cyfrą kontrolną.

Kalkulator załadunku...
📚

Dokumentacja

Czym jest generator CURP?

Generator CURP tworzy losowy przykładowy kod CURP, czyli kod o długości 18 znaków używany w Meksyku do identyfikacji mieszkańców i obywateli. Wynik ma prawidłową strukturę i poprawnie obliczoną cyfrę kontrolną, ale nie jest powiązany z żadną prawdziwą osobą. Programiści używają takich narzędzi do testowania oprogramowania bez ujawniania rzeczywistych danych osobowych.

Czym jest CURP?

CURP to skrót od Clave Única de Registro de Población, czyli unikalnego kodu rejestru ludności. Kod jest wydawany przez RENAPO (Registro Nacional de Población e Identidad), krajowy rejestr ludności Meksyku. Ma go niemal każdy mieszkaniec Meksyku. Pojawia się na formularzach zapisów do szkoły, w dokumentacji podatkowej i medycznej oraz w rejestracji wyborców. Kod jest tworzony z fragmentów imienia i nazwiska, daty urodzenia, płci i stanu urodzenia danej osoby, a także z dwóch dodatkowych znaków, które pomagają odróżnić osoby, które w przeciwnym razie miałyby taki sam kod.

Struktura i format CURP

CURP zawsze ma 18 znaków, będących wielkimi literami lub cyframi. Każda pozycja ma określone znaczenie.

PozycjaZnaczenie
1Pierwsza litera nazwiska ojca
2Pierwsza samogłoska wewnętrzna nazwiska ojca (pierwsza samogłoska po pierwszej literze)
3Pierwsza litera nazwiska matki
4Pierwsza litera imienia
5–6Dwie ostatnie cyfry roku urodzenia
7–8Miesiąc urodzenia (01–12)
9–10Dzień urodzenia (01–31)
11Płeć: H od Hombre (mężczyzna), M od Mujer (kobieta)
12–13Dwuliterowy kod stanu urodzenia, np. DF dla miasta Meksyk lub JC dla Jalisco
14Pierwsza spółgłoska wewnętrzna nazwiska ojca
15Pierwsza spółgłoska wewnętrzna nazwiska matki
16Pierwsza spółgłoska wewnętrzna imienia
17Cyfra dla osób urodzonych przed 2000 albo litera dla osób urodzonych w 2000 roku lub później
18Cyfra kontrolna obliczana na podstawie pierwszych 17 znaków

W tym systemie Meksyk ma 32 kody stanów: po jednym dla każdego z 31 stanów oraz dla miasta Meksyk.

Jeśli pierwsze cztery znaki przypadkowo tworzą słowo uznawane w języku hiszpańskim za nieprzyzwoite, RENAPO zastępuje drugi znak symbolem X. Osoba o imieniu i nazwisku Ines Bueno Estrada miałaby w przeciwnym razie kod zaczynający się od BUEI, więc zamiast tego zaczyna się on od BXEI. Ten generator blokuje te same 82 słowa i stosuje tę samą zamianę.

Jak obliczyć cyfrę kontrolną CURP

Znak 18 wykrywa błędy wpisywania i kopiowania. Oblicza się go na podstawie pierwszych 17 znaków w następujący sposób:

  1. Dla każdego z pierwszych 17 znaków znajdź jego pozycję w alfabecie 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Pozycja na tej liście, licząc od 0, jest jego wartością. Zatem 0 ma wartość 0, A ma wartość 10, R ma wartość 28, a Z ma wartość 36.
  2. Pomnóż wartość każdego znaku przez wagę. Waga zaczyna się od 18 dla pierwszego znaku i zmniejsza się o jeden dla każdego kolejnego znaku, aż osiągnie 2 dla znaku 17.
  3. Dodaj do siebie 17 iloczynów, aby otrzymać sumę S.
  4. Cyfra kontrolna wynosi (10 − (S mod 10)) mod 10.

Przykład obliczeniowy

Rozważmy fikcyjną osobę, Juana Péreza Ramíreza, urodzonego jako mężczyzna w dniu 15 marca 1985 w stanie Jalisco.

  • Pozycja 1: P, pierwsza litera nazwiska „Pérez”
  • Pozycja 2: E, pierwsza samogłoska wewnętrzna nazwiska „Pérez” (litery po pierwszej to E, R, E, Z, więc pierwszą samogłoską jest E)
  • Pozycja 3: R, pierwsza litera nazwiska „Ramírez”
  • Pozycja 4: J, pierwsza litera imienia „Juan”
  • Pozycje 5–10: 850315, dla daty 1985-03-15
  • Pozycja 11: H, mężczyzna
  • Pozycje 12–13: JC, Jalisco
  • Pozycja 14: R, pierwsza spółgłoska wewnętrzna nazwiska „Pérez”
  • Pozycja 15: M, pierwsza spółgłoska wewnętrzna nazwiska „Ramírez”
  • Pozycja 16: N, pierwsza spółgłoska wewnętrzna imienia „Juan”
  • Pozycja 17: 0, cyfra, ponieważ rok urodzenia przypada przed 2000 rokiem (w rzeczywistych rejestrach stosuje się ustaloną regułę wyboru cyfry; w tym przykładzie użyto 0)

Pierwszych 17 znaków to PERJ850315HJCRMN0. Zastosowanie powyższego wzoru do tego ciągu daje sumę 2342. Ponieważ 2342 mod 10 = 2, cyfrą kontrolną jest (10 − 2) mod 10 = 8. Pełny kod CURP to PERJ850315HJCRMN08.

Jak działa ten generator

Narzędzie tworzy przykładowy kod CURP w kilku krokach. Losuje litery do części zawierającej nazwisko i imię, a następnie losuje rok urodzenia od 1940 do roku poprzedzającego bieżący rok, dzięki czemu data zawsze przypada w przeszłości. Dzień jest losowany w rzeczywistym zakresie długości wylosowanego miesiąca, więc 29 lutego pojawia się tylko w latach przestępnych. Płeć i kod stanu są losowane. Następnie narzędzie dodaje trzy spółgłoski wewnętrzne, stosuje zamianę nieprzyzwoitego słowa, jeśli jest potrzebna, wybiera literę dla pozycji 17, gdy rok urodzenia to 2000 lub później, a cyfrę, gdy jest wcześniejszy, po czym oblicza cyfrę kontrolną za pomocą powyższego wzoru.

Przed wyświetleniem kodu narzędzie sprawdza go ponownie: jego kształt musi odpowiadać wzorcowi o długości 18 znaków, miesiąc musi mieścić się w zakresie 01-12, zakodowana data musi istnieć w kalendarzu i przypadać w przeszłości, a cyfra kontrolna musi się zgadzać. Stulecie używane przy sprawdzaniu daty wynika z pozycji 17, zgodnie z tą samą regułą, którą stosuje RENAPO: cyfra oznacza lata 1900, a litera lata 2000. Kod, który nie przejdzie któregokolwiek z tych sprawdzeń, nie zostanie wyświetlony.

Typowe zastosowania wygenerowanych kodów CURP

Zespoły programistyczne używają wygenerowanych kodów CURP do testowania formularzy rejestracyjnych, pól baz danych i logiki walidacji przed uruchomieniem produktu dla meksykańskich użytkowników. Ponieważ kody są losowe, można je tworzyć masowo do testów obciążeniowych lub zapełniania bazy danych w środowisku programistycznym bez używania ani przechowywania prawdziwych danych identyfikacyjnych.

Historia systemu CURP

Meksyk wprowadził CURP w 1996 roku, aby zastąpić mozaikę systemów identyfikacji używanych oddzielnie przez różne agencje rządowe, co utrudniało dopasowywanie rekordów tej samej osoby w różnych bazach danych. Od tego czasu CURP stał się wymagany przy wielu kontaktach z administracją, w tym przy zapisach do szkoły, składaniu deklaracji podatkowych i ubieganiu się o paszport. W przypadku osób urodzonych od 2000 roku RENAPO wstawia na pozycji 17 literę zamiast cyfry.

Jak CURP wypada na tle innych krajowych systemów identyfikacji

KrajSystemFormat
MeksykCURP18 znaków, litery i cyfry
Stany ZjednoczoneNumer ubezpieczenia społecznego9 cyfr
KanadaNumer ubezpieczenia społecznego9 cyfr
BrazyliaCPF11 cyfr
IndieAadhaar12 cyfr
HiszpaniaDNI/NIE8 cyfr oraz cyfra kontrolna w postaci litery

W przeciwieństwie do czysto sekwencyjnego numeru CURP zawiera czytelne informacje: datę urodzenia, płeć i stan. Umożliwia to sprawdzenie, czy zakodowana data jest rzeczywistą datą kalendarzową, co należy do kontroli wykonywanych przez to narzędzie podczas generowania przykładowego kodu.

Często zadawane pytania

Do czego służy generator CURP?

Tworzy losowy kod w takim samym formacie jak prawdziwy CURP, do testowania oprogramowania, zapełniania baz danych i sprawdzania poprawności działania logiki walidacji.

Czy wygenerowane kody CURP są powiązane z prawdziwymi osobami?

Nie. Każdy znak jest wybierany losowo albo obliczany na podstawie innych losowych wartości. Wynik nie jest powiązany z żadną prawdziwą osobą, żyjącą ani zmarłą.

Czy wygenerowanego kodu CURP można użyć na oficjalnym formularzu?

Nie. Tylko RENAPO może wydać ważny kod CURP prawdziwej osobie. Użycie wygenerowanego kodu w formularzu urzędowym, deklaracji podatkowej lub innym oficjalnym dokumencie byłoby oszustwem.

Dlaczego niektóre kody CURP kończą się literą, a inne cyfrą na pozycji 17?

Pozycja 17 odróżnia osoby, które w przeciwnym razie miałyby identyczne kody CURP. RENAPO używa cyfry w przypadku osób urodzonych przed 2000 rokiem oraz litery w przypadku osób urodzonych w 2000 roku lub później.

Dlaczego CURP czasami ma literę X jako drugi znak?

Ponieważ pierwsze cztery znaki w przeciwnym razie tworzyłyby słowo uznawane w języku hiszpańskim za nieprzyzwoite. W takim przypadku RENAPO zastępuje drugi znak symbolem X, więc BUEI zmienia się w BXEI.

Czy to narzędzie przechowuje wygenerowane kody CURP?

Nie. Kod jest generowany w przeglądarce za pomocą JavaScriptu. Żadne dane nie są wysyłane na serwer ani zapisywane.

Jak oblicza się cyfrę kontrolną?

Każdy z pierwszych 17 znaków jest zamieniany na liczbę na podstawie jego pozycji w ustalonym alfabecie złożonym z 37 znaków, następnie mnożony przez wagę od 18 do 2, a wyniki są sumowane. Cyfra kontrolna wynosi (10 − (sum mod 10)) mod 10. Zobacz powyższy przykład obliczeniowy.

Piśmiennictwo

  1. SEGOB (Secretaría de Gobernación), oficjalny portal CURP.
  2. RENAPO (Registro Nacional de Población e Identidad), Instructivo Normativo para la Asignación de la CURP.