Γεννήτρια CURP - Δοκιμή Μεξικανικών Κωδικών Ταυτότητας για Ανάπτυξη
Δημιουργήστε έγκυρα δοκιμαστικά CURP για την ανάπτυξη μεξικανικών εφαρμογών. Δωρεάν εργαλείο δημιουργεί τυχαίους 18-ψήφιους κωδικούς αναγνώρισης σύμφωνα με το επίσημο μορφότυπο RENAPO. Ιδανικό για δοκιμές, συμπλήρωση βάσεων δεδομένων και επικύρωση API.
Δημιουργήστε ένα τυχαίο, συντακτικά έγκυρο δείγμα CURP με σωστό ψηφίο ελέγχου.
Τεκμηρίωση
Τι είναι μια γεννήτρια CURP;
Μια γεννήτρια CURP δημιουργεί ένα τυχαίο δείγμα CURP, τον κωδικό 18 χαρακτήρων που χρησιμοποιεί το Μεξικό για την ταυτοποίηση κατοίκων και πολιτών. Το αποτέλεσμα έχει τη σωστή δομή και σωστά υπολογισμένο ψηφίο ελέγχου, αλλά δεν συνδέεται με υπαρκτό πρόσωπο. Οι προγραμματιστές χρησιμοποιούν εργαλεία όπως αυτό για να ελέγχουν λογισμικό χωρίς να εκθέτουν τα πραγματικά προσωπικά δεδομένα κανενός.
Τι είναι η CURP;
Το CURP είναι τα αρχικά του Clave Única de Registro de Población, δηλαδή «Μοναδικός Κωδικός Μητρώου Πληθυσμού». Εκδίδεται από το RENAPO (Registro Nacional de Población e Identidad), το εθνικό μητρώο πληθυσμού του Μεξικού. Σχεδόν κάθε κάτοικος του Μεξικού διαθέτει έναν. Εμφανίζεται σε έντυπα εγγραφής σε σχολεία, φορολογικά αρχεία, ιατρικά έγγραφα και εγγραφές ψηφοφόρων. Ο κωδικός αποτελείται από τμήματα του ονόματος, της ημερομηνίας γέννησης, του φύλου και της πολιτείας γέννησης ενός ατόμου, καθώς και από δύο επιπλέον χαρακτήρες που βοηθούν να ξεχωρίζουν άτομα τα οποία διαφορετικά θα είχαν τον ίδιο κωδικό.
Δομή και μορφή της CURP
Μια CURP έχει πάντοτε 18 χαρακτήρες, όλοι κεφαλαία γράμματα ή ψηφία. Κάθε θέση έχει συγκεκριμένη σημασία.
| Θέση | Σημασία |
|---|---|
| 1 | Πρώτο γράμμα του πατρικού επωνύμου |
| 2 | Πρώτο εσωτερικό φωνήεν του πατρικού επωνύμου (το πρώτο φωνήεν μετά το αρχικό γράμμα) |
| 3 | Πρώτο γράμμα του μητρικού επωνύμου |
| 4 | Πρώτο γράμμα του κύριου ονόματος |
| 5–6 | Τα δύο τελευταία ψηφία του έτους γέννησης |
| 7–8 | Μήνας γέννησης (01–12) |
| 9–10 | Ημέρα γέννησης (01–31) |
| 11 | Φύλο: H για Hombre (άνδρας), M για Mujer (γυναίκα) |
| 12–13 | Κωδικός δύο γραμμάτων για την πολιτεία γέννησης, όπως DF για την Πόλη του Μεξικού ή JC για το Χαλίσκο |
| 14 | Πρώτο εσωτερικό σύμφωνο του πατρικού επωνύμου |
| 15 | Πρώτο εσωτερικό σύμφωνο του μητρικού επωνύμου |
| 16 | Πρώτο εσωτερικό σύμφωνο του κύριου ονόματος |
| 17 | Ένα ψηφίο για άτομα που γεννήθηκαν πριν από το 2000 ή ένα γράμμα για άτομα που γεννήθηκαν το 2000 ή αργότερα |
| 18 | Ψηφίο ελέγχου που υπολογίζεται από τους πρώτους 17 χαρακτήρες |
Το Μεξικό έχει 32 κωδικούς πολιτειών σε αυτό το σύστημα, έναν για καθεμία από τις 31 πολιτείες, καθώς και έναν για την Πόλη του Μεξικού.
Όταν οι τέσσερις πρώτοι χαρακτήρες σχηματίζουν τυχαία μια λέξη που θεωρείται αγενής στα ισπανικά, το RENAPO αντικαθιστά τον δεύτερο χαρακτήρα με X. Ένα άτομο με το όνομα Ines Bueno Estrada θα ξεκινούσε διαφορετικά με BUEI, οπότε ο κωδικός αρχίζει με BXEI. Η γεννήτρια αποκλείει τις ίδιες 82 λέξεις και εφαρμόζει την ίδια αντικατάσταση.
Πώς υπολογίζεται το ψηφίο ελέγχου της CURP
Ο 18ος χαρακτήρας εντοπίζει σφάλματα πληκτρολόγησης και αντιγραφής. Υπολογίζεται από τους πρώτους 17 χαρακτήρες με την εξής μέθοδο:
- Αναζητήστε κάθε έναν από τους πρώτους 17 χαρακτήρες στο αλφάβητο
0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. Η θέση του σε αυτόν τον κατάλογο, με αφετηρία το 0, είναι η τιμή του. Έτσι, το0έχει τιμή 0, τοAέχει τιμή 10, τοRέχει τιμή 28 και τοZέχει τιμή 36. - Πολλαπλασιάστε την τιμή κάθε χαρακτήρα με έναν συντελεστή στάθμισης. Ο συντελεστής ξεκινά από 18 για τον πρώτο χαρακτήρα και μειώνεται κατά ένα για κάθε επόμενο χαρακτήρα, καταλήγοντας στο 2 για τον 17ο χαρακτήρα.
- Προσθέστε τα 17 γινόμενα για να λάβετε ένα άθροισμα, S.
- Το ψηφίο ελέγχου είναι
(10 − (S mod 10)) mod 10.
Λυμένο παράδειγμα
Ας θεωρήσουμε ένα φανταστικό άτομο, τον Juan Pérez Ramírez, που γεννήθηκε αρσενικό στις 15 Μαρτίου 1985, στο Χαλίσκο.
- Θέση 1:
P, πρώτο γράμμα του «Pérez» - Θέση 2:
E, πρώτο εσωτερικό φωνήεν του «Pérez» (τα γράμματα μετά το πρώτο είναι E, R, E, Z, επομένως το πρώτο φωνήεν είναι το E) - Θέση 3:
R, πρώτο γράμμα του «Ramírez» - Θέση 4:
J, πρώτο γράμμα του «Juan» - Θέσεις 5–10:
850315, για την 1985-03-15 - Θέση 11:
H, άνδρας - Θέσεις 12–13:
JC, Χαλίσκο - Θέση 14:
R, πρώτο εσωτερικό σύμφωνο του «Pérez» - Θέση 15:
M, πρώτο εσωτερικό σύμφωνο του «Ramírez» - Θέση 16:
N, πρώτο εσωτερικό σύμφωνο του «Juan» - Θέση 17:
0, ψηφίο, επειδή το έτος γέννησης είναι πριν από το 2000 (τα πραγματικά αρχεία χρησιμοποιούν έναν σταθερό κανόνα για την επιλογή του ψηφίου· αυτό το παράδειγμα χρησιμοποιεί το 0)
Οι πρώτοι 17 χαρακτήρες είναι PERJ850315HJCRMN0. Η εφαρμογή του παραπάνω τύπου σε αυτή τη συμβολοσειρά δίνει άθροισμα 2342. Εφόσον 2342 mod 10 = 2, το ψηφίο ελέγχου είναι (10 − 2) mod 10 = 8. Η πλήρης CURP είναι PERJ850315HJCRMN08.
Πώς λειτουργεί αυτή η γεννήτρια
Το εργαλείο δημιουργεί ένα δείγμα CURP σε λίγα βήματα. Επιλέγει τυχαία γράμματα για το τμήμα του ονόματος και έπειτα ένα έτος γέννησης από το 1940 έως το έτος πριν από το τρέχον, ώστε η ημερομηνία να βρίσκεται πάντοτε στο παρελθόν. Η ημέρα επιλέγεται μέσα στο πραγματικό μήκος του μήνα που κληρώθηκε, επομένως η 29η Φεβρουαρίου εμφανίζεται μόνο σε δίσεκτα έτη. Το φύλο και ο κωδικός πολιτείας επιλέγονται τυχαία. Στη συνέχεια το εργαλείο προσθέτει τα τρία εσωτερικά σύμφωνα, εφαρμόζει την αντικατάσταση της αγενούς λέξης αν χρειάζεται, επιλέγει ένα γράμμα για τη θέση 17 όταν το έτος γέννησης είναι 2000 ή μεταγενέστερο και ένα ψηφίο όταν είναι προγενέστερο, και υπολογίζει το ψηφίο ελέγχου με τον παραπάνω τύπο.
Πριν εμφανίσει έναν κωδικό, το εργαλείο τον ελέγχει ξανά: η μορφή πρέπει να αντιστοιχεί στο μοτίβο των 18 χαρακτήρων, ο μήνας πρέπει να είναι 01-12, η κωδικοποιημένη ημερομηνία πρέπει να υπάρχει στο ημερολόγιο και να βρίσκεται στο παρελθόν, και το ψηφίο ελέγχου πρέπει να συμφωνεί. Ο αιώνας για τον έλεγχο της ημερομηνίας προκύπτει από τη θέση 17, σύμφωνα με τον ίδιο κανόνα που χρησιμοποιεί το RENAPO: ένα ψηφίο σημαίνει τον αιώνα του 1900, ενώ ένα γράμμα σημαίνει τον αιώνα του 2000. Κωδικός που αποτυγχάνει σε οποιονδήποτε από αυτούς τους ελέγχους δεν εμφανίζεται.
Συνήθεις χρήσεις των παραγόμενων CURP
Οι ομάδες λογισμικού χρησιμοποιούν παραγόμενες CURP για να ελέγχουν φόρμες εγγραφής, πεδία βάσεων δεδομένων και τη λογική επικύρωσης πριν από την κυκλοφορία ενός προϊόντος για Μεξικανούς χρήστες. Επειδή οι κωδικοί είναι τυχαίοι, μπορούν να δημιουργηθούν μαζικά για δοκιμές φόρτου ή για αρχική τροφοδότηση μιας βάσης ανάπτυξης, χωρίς χρήση ή αποθήκευση πραγματικών στοιχείων ταυτοποίησης.
Ιστορικό του συστήματος CURP
Το Μεξικό εισήγαγε την CURP το 1996, για να αντικαταστήσει ένα συνονθύλευμα συστημάτων ταυτοποίησης που χρησιμοποιούσαν ξεχωριστά διάφορες κυβερνητικές υπηρεσίες, γεγονός που δυσχέραινε την αντιστοίχιση των αρχείων του ίδιου ατόμου μεταξύ βάσεων δεδομένων. Έκτοτε, η CURP έχει καταστεί απαραίτητη για πολλές συναλλαγές με το κράτος, όπως η εγγραφή σε σχολείο, η υποβολή φορολογικής δήλωσης και η αίτηση διαβατηρίου. Για άτομα που γεννήθηκαν από το 2000 και μετά, το RENAPO συμπληρώνει τη θέση 17 με γράμμα αντί για ψηφίο.
Πώς συγκρίνεται η CURP με άλλα εθνικά συστήματα ταυτοποίησης
| Χώρα | Σύστημα | Μορφή |
|---|---|---|
| Μεξικό | CURP | 18 χαρακτήρες, γράμματα και ψηφία |
| Ηνωμένες Πολιτείες | Αριθμός Κοινωνικής Ασφάλισης | 9 ψηφία |
| Καναδάς | Αριθμός Κοινωνικής Ασφάλισης | 9 ψηφία |
| Βραζιλία | CPF | 11 ψηφία |
| Ινδία | Aadhaar | 12 ψηφία |
| Ισπανία | DNI/NIE | 8 ψηφία και ένα γράμμα ελέγχου |
Σε αντίθεση με έναν καθαρά αύξοντα αριθμό, η CURP ενσωματώνει αναγνώσιμες πληροφορίες: ημερομηνία γέννησης, φύλο και πολιτεία. Έτσι είναι δυνατό να ελεγχθεί αν η κωδικοποιημένη ημερομηνία είναι πραγματική ημερολογιακή ημερομηνία, ένας από τους ελέγχους που εκτελεί αυτό το εργαλείο κατά τη δημιουργία ενός δείγματος κωδικού.
Συχνές ερωτήσεις
Σε τι χρησιμεύει μια γεννήτρια CURP;
Δημιουργεί έναν τυχαίο κωδικό στην ίδια μορφή με μια πραγματική CURP, για χρήση σε δοκιμές λογισμικού, αρχική τροφοδότηση βάσεων δεδομένων και έλεγχο της σωστής λειτουργίας της λογικής επικύρωσης.
Συνδέονται οι παραγόμενες CURP με πραγματικά άτομα;
Όχι. Κάθε χαρακτήρας επιλέγεται τυχαία ή υπολογίζεται από άλλες τυχαίες τιμές. Το αποτέλεσμα δεν συνδέεται με κανένα πραγματικό άτομο, εν ζωή ή νεκρό.
Μπορεί να χρησιμοποιηθεί παραγόμενη CURP σε επίσημο έντυπο;
Όχι. Μόνο το RENAPO μπορεί να εκδώσει έγκυρη CURP για πραγματικό άτομο. Η χρήση παραγόμενου κωδικού σε κρατικό έντυπο, φορολογική δήλωση ή οποιοδήποτε επίσημο έγγραφο θα ήταν απάτη.
Γιατί ορισμένες CURP τελειώνουν σε γράμμα και άλλες σε ψηφίο στη θέση 17;
Η θέση 17 ξεχωρίζει άτομα που διαφορετικά θα είχαν πανομοιότυπες CURP. Το RENAPO χρησιμοποιεί ψηφίο για άτομα που γεννήθηκαν πριν από το 2000 και γράμμα για άτομα που γεννήθηκαν το 2000 ή αργότερα.
Γιατί μια CURP έχει μερικές φορές X ως δεύτερο χαρακτήρα;
Επειδή οι τέσσερις πρώτοι χαρακτήρες διαφορετικά θα σχημάτιζαν λέξη που θεωρείται αγενής στα ισπανικά. Σε αυτή την περίπτωση, το RENAPO αντικαθιστά τον δεύτερο χαρακτήρα με X, οπότε το BUEI γίνεται BXEI.
Αποθηκεύει αυτό το εργαλείο τις CURP που δημιουργεί;
Όχι. Ο κωδικός δημιουργείται στο πρόγραμμα περιήγησης με JavaScript. Δεν αποστέλλεται τίποτα σε διακομιστή ούτε αποθηκεύεται.
Πώς υπολογίζεται το ψηφίο ελέγχου;
Καθένας από τους πρώτους 17 χαρακτήρες μετατρέπεται σε αριθμό με βάση τη θέση του σε ένα σταθερό αλφάβητο 37 χαρακτήρων, πολλαπλασιάζεται με συντελεστή στάθμισης από 18 έως 2 και προστίθεται. Το ψηφίο ελέγχου είναι (10 − (sum mod 10)) mod 10. Δείτε το αναλυτικό παράδειγμα παραπάνω.
Παραπομπές
- SEGOB (Secretaría de Gobernación), επίσημη πύλη CURP.
- RENAPO (Registro Nacional de Población e Identidad), Κανονιστικές οδηγίες για την εκχώρηση της CURP.