🛠️

Whiz Tools

Build • Create • Innovate

Генератор CPF для тестування та валідації даних

Генеруйте дійсні, випадкові номери CPF (Cadastro de Pessoas Físicas) для тестових цілей. Цей інструмент створює CPF, які відповідають офіційному бразильському формату та правилам валідації, без використання будь-якої реальної особистої інформації.

Згенерувати CPF

📚

Документація

Генератор 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 стає обов'язковим для всіх осіб, що сплачують податки
  • 1990-ті: CPF починає використовуватися більш широко в комерційних та фінансових операціях
  • 2000-ті: цифрові системи ще більше інтегрують 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. "Історія CPF." https://www.gov.br/fazenda/pt-br/assuntos/receita-federal
  4. Закон № 4.862 від 29 листопада 1965 року. "Вносить зміни до законодавства про податок на доходи, приймає різні заходи фіскального та фінансового порядку і вживає інші заходи."