דלג לתוכן

מחולל CURP - בדיקת קודי זיהוי מקסיקניים לפיתוח

צור CURPs תקפים לבדיקת יישומים מקסיקניים. כלי חינמי יוצר קודי זיהוי אקראיים בני 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 התווים הראשונים בשיטה הבאה:

  1. יש לאתר כל אחד מ־17 התווים הראשונים באלפבית 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ. מיקומו ברשימה זו, החל מ־0, הוא ערכו. לכן ל־0 יש ערך 0, ל־A יש ערך 10, ל־R יש ערך 28, ול־Z יש ערך 36.
  2. יש להכפיל את ערכו של כל תו במשקל. המשקל מתחיל ב־18 עבור התו הראשון ויורד באחד עבור כל תו אחר, עד 2 עבור התו ה־17.
  3. יש לחבר את 17 המכפלות כדי לקבל סכום, S.
  4. ספרת הביקורת היא (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 משתווה למערכות זיהוי לאומיות אחרות

מדינהמערכתפורמט
מקסיקוCURP18 תווים, אותיות וספרות
ארצות הבריתמספר ביטוח לאומי9 ספרות
קנדהמספר ביטוח סוציאלי9 ספרות
ברזילCPF11 ספרות
הודוAadhaar12 ספרות
ספרדDNI/NIE8 ספרות בתוספת אות ביקורת

בניגוד למספר עוקב גרידא, 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. ראו את הדוגמה המחושבת לעיל.

מקורות

  1. SEGOB (Secretaría de Gobernación), הפורטל הרשמי של CURP.
  2. RENAPO (Registro Nacional de Población e Identidad), מדריך נורמטיבי להקצאת CURP.