🛠️

Whiz Tools

Build • Create • Innovate

Generator CPF za testiranje i validaciju podataka

Generišite važeće, nasumične CPF (Cadastro de Pessoas Físicas) brojeve za testiranje. Ovaj alat stvara CPF-ove koji su u skladu sa zvaničnim brazilskim formatom i pravilima validacije, bez korišćenja stvarnih ličnih informacija.

Generiši CPF

📚

Dokumentacija

CPF Generator

Увод

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. Тестирање АПИ-ја: Користите генерисане CPF-ове у АПИ захтевима који захтевају валидну бразилску идентификацију
  4. Тестирање перформанси: Генеришите велике сетове јединствених, валидних CPF-ова за тестирање оптерећења
  5. Тестирање корисничког интерфејса: Осигурајте правилно форматирање и приказ 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-ове у Питону, ЈаваСкрипту и Јави. Можете прилагодити ове функције вашим специфичним потребама или их интегрисати у веће системе који захтевају обраду 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. "Валидатор CPF." https://www.serpro.gov.br/links-fixos-superiores/validador-cpf
  3. Министарство финансија. "Историја CPF-а." https://www.gov.br/fazenda/pt-br/assuntos/receita-federal
  4. Закон бр. 4.862, од 29. новембра 1965. "Мени измене законодавства о порезу на доходак, усвајање разних мера фискалне и финансијске природе и друге одредбе."