🛠️

Whiz Tools

Build • Create • Innovate

גנרטור CPF ליצירת מספרי CPF תקפים למטרות בדיקה

צור מספרי CPF (Cadastro de Pessoas Físicas) תקפים ורנדומליים למטרות בדיקה. כלי זה יוצר CPFs העומדים בפורמט וברגולציות הוולידציה הברזילאיות הרשמית, מבלי להשתמש במידע אישי אמיתי.

צור CPF

📚

תיעוד

CPF גנרטור

מבוא

ה-CPF (Cadastro de Pessoas Físicas) הוא מזהה ייחודי המוקצה לאזרחים ותושבים ברזיל לצורכי מס. גנרטור זה יוצר מספרי CPF תקפים ורנדומליים למטרות בדיקה. חשוב לציין שה-CPFs שנוצרים אינם קשורים לאנשים אמיתיים ויש להשתמש בהם רק בסביבות בדיקה.

מבנה של CPF

מספר CPF מורכב מ-11 ספרות:

  • 9 הספרות הראשונות הן המספרים הבסיסיים
  • 2 הספרות האחרונות הן ספרות בדיקה

הפורמט בדרך כלל מיוצג כך: XXX.XXX.XXX-XX

אלגוריתם אימות CPF

אלגוריתם האימות של CPF מבטיח את שלמות המספר. כך זה עובד:

  1. הכפל את 9 הספרות הראשונות במשקלים (10 עד 2)
  2. סכום את התוצאות
  3. חשב את השארית של הסכום חלקי 11
  4. אם השארית קטנה מ-2, ספרת הבדיקה הראשונה היא 0; אחרת, היא 11 פחות השארית
  5. חזור על התהליך עבור 10 הספרות הראשונות (כולל את ספרת הבדיקה הראשונה) עם משקלים 11 עד 2
  6. חשב את ספרת הבדיקה השנייה באותו כלל כמו הראשונה

כיצד להשתמש בגנרטור זה

  1. לחץ על כפתור "גנרר CPF"
  2. CPF תקף ורנדומלי יוצג
  3. תוכל להעתיק את ה-CPF שנוצר לשימוש בתרחישי הבדיקה שלך

נוסחה

הנוסחה ליצירת CPF תקף היא כך:

1def generate_cpf():
2    # צור 9 ספרות רנדומליות
3    base_cpf = [random.randint(0, 9) for _ in range(9)]
4    
5    # חשב את ספרת הבדיקה הראשונה
6    sum_1 = sum((10 - i) * digit for i, digit in enumerate(base_cpf))
7    check_digit_1 = (sum_1 * 10 % 11) % 10
8    
9    # חשב את ספרת הבדיקה השנייה
10    sum_2 = sum((11 - i) * digit for i, digit in enumerate(base_cpf + [check_digit_1]))
11    check_digit_2 = (sum_2 * 10 % 11) % 10
12    
13    return base_cpf + [check_digit_1, check_digit_2]
14

חישוב

הגנרטור מבצע את הצעדים הבאים:

  1. צור 9 ספרות רנדומליות
  2. חשב את ספרת הבדיקה הראשונה באמצעות האלגוריתם המתואר למעלה
  3. חשב את ספרת הבדיקה השנייה
  4. חבר את כל הספרות כדי ליצור את ה-CPF המלא

דוגמאות

הנה כמה דוגמאות ל-CPFs שנוצרו:

  1. 123.456.789-09
  2. 987.654.321-00
  3. 111.222.333-96

שימושים

גנרטור ה-CPF שימושי במגוון תרחישי פיתוח תוכנה ובדיקות:

  1. בדיקות מסד נתונים: מלא מסדי נתונים לבדיקה עם מספרי CPF תקפים
  2. אימות טופס: בדוק את אימות הקלט עבור טפסי רישום משתמשים ברזילאיים
  3. בדיקות API: השתמש ב-CPFs שנוצרו בבקשות API שדורשות זיהוי ברזילאי תקף
  4. בדיקות ביצועים: צור קבוצות גדולות של CPFs ייחודיים ותקפים לבדיקות עומס
  5. בדיקות UI/UX: ודא את הפורמט והצגת מספרי CPF בממשקי משתמש

חלופות

בעוד שה-CPF הוא המזהה העיקרי של יחידים בברזיל, ישנם מזהים אחרים שיכולים לשמש בהקשרים ספציפיים:

  1. RG (Registro Geral): מסמך זהות המונפק על ידי המדינה
  2. CNPJ (Cadastro Nacional da Pessoa Jurídica): משמש לעסקים ולישויות משפטיות
  3. PIS/PASEP: משמש למטרות הקשורות לתעסוקה

היסטוריה

ה-CPF הוצג בברזיל בשנת 1965 כחלק ממאמץ רחב יותר לייעל את מערכת המס במדינה. בתחילה, הוא שימש בעיקר למטרות מס הכנסה, אך עם הזמן השימוש בו התרחב לאזורים שונים של ביורוקרטיה ומסחר ברזילאי.

מאורעות מפתח בהיסטוריה של ה-CPF:

  • 1965: ה-CPF הוצג ליחידים
  • 1972: ה-CPF הופך לחובה עבור כל יחידים משלמי מס
  • שנות ה-90: ה-CPF מתחיל להיות בשימוש נרחב יותר בעסקאות מסחריות ופיננסיות
  • שנות ה-2000: מערכות דיגיטליות משלבות עוד יותר את ה-CPF בחיי היומיום בברזיל

היום, ה-CPF הוא חלק חיוני באינטראקציות של אזרחי ברזיל ותושביה עם שירותי הממשלה, מוסדות פיננסיים ורבים מהעסקאות המסחריות.

דוגמאות קוד

הנה קטעי קוד ליצירה ואימות של CPFs בשפות תכנות שונות:

1import random
2
3def generate_cpf():
4    cpf = [random.randint(0, 9) for _ in range(9)]
5    for _ in range(2):
6        value = sum((cpf[num] * ((len(cpf) + 1) - num) for num in range(len(cpf)))) % 11
7        cpf.append(11 - value if value > 1 else 0)
8    return ''.join(map(str, cpf))
9
10def validate_cpf(cpf):
11    numbers = [int(digit) for digit in cpf if digit.isdigit()]
12    if len(numbers) != 11 or len(set(numbers)) == 1:
13        return False
14    for i in range(9, 11):
15        value = sum((numbers[num] * ((i + 1) - num) for num in range(i))) % 11
16        if numbers[i] != (11 - value if value > 1 else 0):
17            return False
18    return True
19
20## דוגמת שימוש
21cpf = generate_cpf()
22print(f"CPF שנוצר: {cpf}")
23print(f"תקף: {validate_cpf(cpf)}")
24

קטעי קוד אלו מדגימים כיצד ליצור ולאמת CPFs בשפות פייתון, ג'אווהסקריפט וג'אווה. תוכל להתאים את הפונקציות הללו לצרכים הספציפיים שלך או לשלב אותן במערכות גדולות יותר שדורשות טיפול ב-CPF.

שיקולים משפטיים ואתיים

בעת השימוש ב-CPFs שנוצרים, חשוב לזכור את הנקודות הבאות:

  1. ה-CPFs שנוצרים הם למטרות בדיקה בלבד ולא צריכים לשמש כדי לחקות אנשים אמיתיים או לכל פעילות הונאה.
  2. תייג בבירור את כל נתוני הבדיקה המכילים CPFs שנוצרים כדי למנוע בלבול עם נתונים אישיים אמיתיים.
  3. היה מודע לחוקי הגנת הנתונים ולתקנות בתחום השיפוט שלך בעת טיפול גם במזהים אישיים מזויפים.
  4. בסביבות ייצור, השתמש תמיד ב-CPFs אמיתיים ומאומתים המסופקים על ידי משתמשים או מקורות מורשים.
  5. יישם אמצעי אבטחה מתאימים כדי להגן על CPFs אמיתיים וגם שנוצרים במערכות שלך.

הפניות

  1. Receita Federal do Brasil. "CPF - Cadastro de Pessoas Físicas." https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf
  2. Serpro. "Validador de CPF." https://www.serpro.gov.br/links-fixos-superiores/validador-cpf
  3. Ministério da Fazenda. "História do CPF." https://www.gov.br/fazenda/pt-br/assuntos/receita-federal
  4. Lei nº 4.862, de 29 de novembro de 1965. "Altera a legislação do impôsto de renda, adota diversas medidas de ordem fiscal e fazendária, e dá outras providências."