🛠️

Whiz Tools

Build • Create • Innovate

CPF Generator til testformål og datavalidering

Generer gyldige, tilfældige CPF (Cadastro de Pessoas Físicas) numre til testformål. Dette værktøj opretter CPFer, der overholder det officielle brasilianske format og valideringsregler, uden at bruge nogen rigtige personlige oplysninger.

Generer CPF

📚

Dokumentation

CPF Generator

Introduktion

CPF (Cadastro de Pessoas Físicas) er en unik identifikator tildelt brasilianske borgere og beboere til skatteformål. Denne generator opretter gyldige, tilfældige CPF-numre til testformål. Det er vigtigt at bemærke, at disse genererede CPFer ikke er knyttet til rigtige personer og kun bør bruges i testmiljøer.

Struktur af en CPF

En CPF består af 11 cifre:

  • De første 9 cifre er basisnumrene
  • De sidste 2 cifre er kontrolcifre

Formatet repræsenteres typisk som: XXX.XXX.XXX-XX

CPF Valideringsalgoritme

CPF valideringsalgoritmen sikrer integriteten af nummeret. Sådan fungerer det:

  1. Multiplicer de første 9 cifre med vægte (10 til 2)
  2. Summer resultaterne
  3. Beregn resten af summen divideret med 11
  4. Hvis resten er mindre end 2, er det første kontrolciffer 0; ellers er det 11 minus resten
  5. Gentag processen for de første 10 cifre (inklusive det første kontrolciffer) med vægte 11 til 2
  6. Beregn det andet kontrolciffer ved hjælp af samme regel som det første

Sådan bruger du denne generator

  1. Klik på knappen "Generer CPF"
  2. Et gyldigt, tilfældigt CPF vises
  3. Du kan kopiere det genererede CPF til brug i dine testsituationer

Formel

Formlen til at generere en gyldig CPF er som følger:

1def generate_cpf():
2    # Generer 9 tilfældige cifre
3    base_cpf = [random.randint(0, 9) for _ in range(9)]
4    
5    # Beregn første kontrolciffer
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    # Beregn andet kontrolciffer
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

Beregning

Generatoren udfører følgende trin:

  1. Generer 9 tilfældige cifre
  2. Beregn det første kontrolciffer ved hjælp af den beskrevne algoritme
  3. Beregn det andet kontrolciffer
  4. Kombiner alle cifre for at danne den komplette CPF

Eksempler

Her er nogle eksempler på genererede CPFer:

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

Anvendelsesscenarier

CPF-generatoren er nyttig i forskellige softwareudviklings- og testscenarier:

  1. Database Test: Udfyld testdatabaser med gyldige CPF-numre
  2. Formular Validering: Test inputvalidering for brasilianske brugerregistreringsformularer
  3. API Test: Brug genererede CPFer i API-anmodninger, der kræver gyldig brasiliansk identifikation
  4. Ydelsestest: Generer store sæt unikke, gyldige CPFer til belastningstest
  5. UI/UX Test: Sikre korrekt formatering og visning af CPF-numre i brugergrænseflader

Alternativer

Mens CPF er den primære individuelle identifikator i Brasilien, er der andre identifikatorer, der kan bruges i specifikke sammenhænge:

  1. RG (Registro Geral): Et statsligt udstedt identitetsdokument
  2. CNPJ (Cadastro Nacional da Pessoa Jurídica): Bruges til virksomheder og juridiske enheder
  3. PIS/PASEP: Bruges til ansættelsesrelaterede formål

Historie

CPF blev introduceret i Brasilien i 1965 som en del af en bredere indsats for at modernisere landets skattesystem. Oprindeligt blev det brugt primært til indkomstskatteformål, men over tid blev dets anvendelse udvidet til forskellige andre områder af brasiliansk bureaukrati og handel.

Nøglemilepæle i CPF-historien:

  • 1965: CPF introduceres for enkeltpersoner
  • 1972: CPF bliver obligatorisk for alle skattebetalende enkeltpersoner
  • 1990'erne: CPF begynder at blive brugt mere bredt i kommercielle og finansielle transaktioner
  • 2000'erne: Digitale systemer integrerer yderligere CPF i dagliglivet i Brasilien

I dag er CPF en essentiel del af brasilianske borgeres og beboeres interaktioner med offentlige tjenester, finansielle institutioner og mange kommercielle transaktioner.

Kodeeksempler

Her er kodeeksempler til at generere og validere CPFer i forskellige programmeringssprog:

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## Eksempel på brug
21cpf = generate_cpf()
22print(f"Genereret CPF: {cpf}")
23print(f"Er gyldig: {validate_cpf(cpf)}")
24

Disse eksempler demonstrerer, hvordan man genererer og validerer CPFer i Python, JavaScript og Java. Du kan tilpasse disse funktioner til dine specifikke behov eller integrere dem i større systemer, der kræver CPF-håndtering.

Juridiske og Etiske Overvejelser

Når du bruger genererede CPFer, er det vigtigt at holde følgende punkter i mente:

  1. Genererede CPFer er kun til testformål og bør aldrig bruges til at efterligne rigtige personer eller til svigagtige aktiviteter.
  2. Tydeligt mærk al testdata, der indeholder genererede CPFer for at undgå forvirring med rigtige persondata.
  3. Vær opmærksom på databeskyttelseslove og -regler i din jurisdiktion, når du håndterer selv falske personidentifikatorer.
  4. I produktionsmiljøer skal du altid bruge rigtige, verificerede CPFer givet af brugere eller autoriserede kilder.
  5. Implementer passende sikkerhedsforanstaltninger for at beskytte både rigtige og genererede CPFer i dine systemer.

Referencer

  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. "Historie om CPF." https://www.gov.br/fazenda/pt-br/assuntos/receita-federal
  4. Lov nr. 4.862, af 29. november 1965. "Ændrer lovgivningen om indkomstskat, vedtager forskellige foranstaltninger af skattemæssig og finansiel karakter og træffer andre foranstaltninger."