🛠️

Whiz Tools

Build • Create • Innovate

Генератор на ЕГН за тестови цели и валидация на данни

Генерирайте валидни, случайни ЕГН (Единен граждански номер) за тестови цели. Този инструмент създава ЕГН, които отговарят на официалния бразилски формат и правила за валидация, без да използва реална лична информация.

Генерирай 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 г. "Променя законодателството за данъка върху доходите, приема различни мерки от фискален и финансов характер и дава други разпоредби."
🔗

Свързани инструменти

Открийте още инструменти, които могат да бъдат полезни за вашия работен процес