تولید کننده شماره CPF معتبر برای آزمایش‌های مختلف

شماره‌های CPF (Cadastro de Pessoas Físicas) معتبر و تصادفی را برای اهداف آزمایشی تولید کنید. این ابزار CPFs را ایجاد می‌کند که با فرمت و قوانین اعتبارسنجی رسمی برزیل مطابقت دارد و از هیچ اطلاعات شخصی واقعی استفاده نمی‌کند.

title

📚

مستندات

تولید کننده CPF

مقدمه

CPF (Cadastro de Pessoas Físicas) یک شناسه منحصر به فرد است که به شهروندان و ساکنان برزیل برای مقاصد مالیاتی اختصاص داده می‌شود. این تولید کننده شماره‌های CPF تصادفی و معتبر برای مقاصد آزمایشی ایجاد می‌کند. مهم است که توجه داشته باشید که این CPF های تولید شده به افراد واقعی مرتبط نیستند و باید فقط در محیط‌های آزمایشی استفاده شوند.

ساختار یک 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 کامل تشکیل شود

مثال‌ها

در اینجا چند مثال از CPF های تولید شده آورده شده است:

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

موارد استفاده

تولید کننده CPF در سناریوهای مختلف توسعه نرم‌افزار و آزمایش مفید است:

  1. آزمایش پایگاه داده: پر کردن پایگاه‌های داده آزمایشی با شماره‌های CPF معتبر
  2. اعتبارسنجی فرم: آزمایش اعتبارسنجی ورودی برای فرم‌های ثبت‌نام کاربر برزیلی
  3. آزمایش API: استفاده از CPF های تولید شده در درخواست‌های API که نیاز به شناسایی معتبر برزیلی دارند
  4. آزمایش عملکرد: تولید مجموعه‌های بزرگ از CPF های منحصر به فرد و معتبر برای آزمایش بار
  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 برای همه افراد مالیات‌دهنده الزامی شد
  • 1990s: CPF به طور گسترده‌تری در معاملات تجاری و مالی استفاده می‌شود
  • 2000s: سیستم‌های دیجیتال CPF را به طور بیشتری در زندگی روزمره در برزیل ادغام می‌کنند

امروز، CPF بخشی اساسی از تعاملات شهروندان و ساکنان برزیل با خدمات دولتی، نهادهای مالی و بسیاری از معاملات تجاری است.

مثال‌های کد

در اینجا کدهای نمونه برای تولید و اعتبارسنجی CPF در زبان‌های برنامه‌نویسی مختلف آورده شده است:

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

این مثال‌ها نحوه تولید و اعتبارسنجی CPF را در زبان‌های برنامه‌نویسی Python، JavaScript و Java نشان می‌دهند. می‌توانید این توابع را به نیازهای خاص خود تطبیق دهید یا آنها را در سیستم‌های بزرگتری که نیاز به مدیریت CPF دارند، ادغام کنید.

ملاحظات قانونی و اخلاقی

هنگام استفاده از CPF های تولید شده، مهم است که به نکات زیر توجه کنید:

  1. CPF های تولید شده فقط برای مقاصد آزمایشی هستند و هرگز نباید برای جعل هویت افراد واقعی یا هرگونه فعالیت تقلبی استفاده شوند.
  2. هرگونه داده آزمایشی حاوی CPF های تولید شده را به وضوح برچسب‌گذاری کنید تا از سردرگمی با داده‌های شخصی واقعی جلوگیری شود.
  3. هنگام مدیریت حتی شناسه‌های شخصی جعلی، از قوانین و مقررات حفاظت از داده‌ها در حوزه قضایی خود آگاه باشید.
  4. در محیط‌های تولید، همیشه از CPF های واقعی و تأیید شده که توسط کاربران یا منابع معتبر ارائه شده‌اند، استفاده کنید.
  5. اقدامات امنیتی مناسب برای محافظت از CPF های واقعی و تولید شده در سیستم‌های خود پیاده‌سازی کنید.

منابع

  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."