🛠️

Whiz Tools

Build • Create • Innovate

CPF-generator voor het genereren van testgegevens

Genereer geldige, willekeurige CPF (Cadastro de Pessoas Físicas) nummers voor testdoeleinden. Deze tool maakt CPF's die voldoen aan het officiële Braziliaanse formaat en validatieregels, zonder gebruik te maken van echte persoonlijke informatie.

Genereer CPF

📚

Documentatie

CPF Generator

Inleiding

De CPF (Cadastro de Pessoas Físicas) is een unieke identificatie die aan Braziliaanse burgers en bewoners wordt toegewezen voor belastingdoeleinden. Deze generator creëert geldige, willekeurige CPF-nummers voor testdoeleinden. Het is belangrijk op te merken dat deze gegenereerde CPFs niet zijn gekoppeld aan echte individuen en alleen in testomgevingen mogen worden gebruikt.

Structuur van een CPF

Een CPF bestaat uit 11 cijfers:

  • De eerste 9 cijfers zijn de basisnummers
  • De laatste 2 cijfers zijn controlecijfers

Het formaat wordt doorgaans weergegeven als: XXX.XXX.XXX-XX

CPF Validatie-algoritme

Het CPF-validatie-algoritme zorgt voor de integriteit van het nummer. Hier is hoe het werkt:

  1. Vermenigvuldig de eerste 9 cijfers met gewichten (10 tot 2)
  2. Tel de resultaten op
  3. Bereken de rest van de som gedeeld door 11
  4. Als de rest minder dan 2 is, is het eerste controlecijfer 0; anders is het 11 min de rest
  5. Herhaal het proces voor de eerste 10 cijfers (inclusief het eerste controlecijfer) met gewichten 11 tot 2
  6. Bereken het tweede controlecijfer met dezelfde regel als het eerste

Hoe deze generator te gebruiken

  1. Klik op de knop "Genereer CPF"
  2. Een geldig, willekeurig CPF wordt weergegeven
  3. Je kunt de gegenereerde CPF kopiëren voor gebruik in je testscenario's

Formule

De formule voor het genereren van een geldige CPF is als volgt:

1def generate_cpf():
2    # Genereer 9 willekeurige cijfers
3    base_cpf = [random.randint(0, 9) for _ in range(9)]
4    
5    # Bereken het eerste controlecijfer
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    # Bereken het tweede controlecijfer
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

Berekening

De generator voert de volgende stappen uit:

  1. Genereer 9 willekeurige cijfers
  2. Bereken het eerste controlecijfer met behulp van het hierboven beschreven algoritme
  3. Bereken het tweede controlecijfer
  4. Combineer alle cijfers om de volledige CPF te vormen

Voorbeelden

Hier zijn enkele voorbeelden van gegenereerde CPFs:

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

Toepassingen

De CPF-generator is nuttig in verschillende softwareontwikkelings- en testsituaties:

  1. Database Testing: Vul testdatabases met geldige CPF-nummers
  2. Formuliervalidatie: Test invoervalidatie voor Braziliaanse gebruikersregistratieformulieren
  3. API Testing: Gebruik gegenereerde CPFs in API-aanvragen die geldige Braziliaanse identificatie vereisen
  4. Prestatie Testing: Genereer grote sets unieke, geldige CPFs voor belastingtesten
  5. UI/UX Testing: Zorg voor de juiste opmaak en weergave van CPF-nummers in gebruikersinterfaces

Alternatieven

Hoewel de CPF de primaire individuele identificatie in Brazilië is, zijn er andere identificatoren die in specifieke contexten kunnen worden gebruikt:

  1. RG (Registro Geral): Een door de staat uitgegeven identiteitsdocument
  2. CNPJ (Cadastro Nacional da Pessoa Jurídica): Gebruikt voor bedrijven en rechtspersonen
  3. PIS/PASEP: Gebruikt voor werkgerelateerde doeleinden

Geschiedenis

De CPF werd in 1965 in Brazilië geïntroduceerd als onderdeel van een bredere inspanning om het belastingstelsel van het land te moderniseren. Aanvankelijk werd het voornamelijk gebruikt voor inkomstenbelastingdoeleinden, maar in de loop der tijd breidde het gebruik zich uit naar verschillende andere gebieden van de Braziliaanse bureaucratie en handel.

Belangrijke mijlpalen in de geschiedenis van de CPF:

  • 1965: CPF geïntroduceerd voor individuen
  • 1972: CPF wordt verplicht voor alle belastingbetalende individuen
  • 1990s: CPF begint breder te worden gebruikt in commerciële en financiële transacties
  • 2000s: Digitale systemen integreren CPF verder in het dagelijks leven in Brazilië

Tegenwoordig is de CPF een essentieel onderdeel van de interacties van Braziliaanse burgers en bewoners met overheidsdiensten, financiële instellingen en veel commerciële transacties.

Code Voorbeelden

Hier zijn codefragmenten voor het genereren en valideren van CPFs in verschillende programmeertalen:

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## Voorbeeld gebruik
21cpf = generate_cpf()
22print(f"Gegenereerde CPF: {cpf}")
23print(f"Is geldig: {validate_cpf(cpf)}")
24

Deze voorbeelden demonstreren hoe je CPFs kunt genereren en valideren in Python, JavaScript en Java. Je kunt deze functies aanpassen aan je specifieke behoeften of integreren in grotere systemen die CPF-verwerking vereisen.

Juridische en Ethische Overwegingen

Bij het gebruik van gegenereerde CPFs is het cruciaal om de volgende punten in gedachten te houden:

  1. Gegenereerde CPFs zijn uitsluitend voor testdoeleinden en mogen nooit worden gebruikt om echte individuen te imiteren of voor frauduleuze activiteiten.
  2. Label testgegevens die gegenereerde CPFs bevatten duidelijk om verwarring met echte persoonlijke gegevens te voorkomen.
  3. Wees je bewust van de wetten en voorschriften inzake gegevensbescherming in jouw rechtsgebied bij het omgaan met zelfs nep persoonlijke identificatoren.
  4. Gebruik in productieomgevingen altijd echte, geverifieerde CPFs die door gebruikers of geautoriseerde bronnen zijn verstrekt.
  5. Implementeer de juiste beveiligingsmaatregelen om zowel echte als gegenereerde CPFs in jouw systemen te beschermen.

Referenties

  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. "Geschiedenis van de CPF." https://www.gov.br/fazenda/pt-br/assuntos/receita-federal
  4. Lei nº 4.862, de 29 de novembro de 1965. "Wijzigingen in de wetgeving van de inkomstenbelasting, diverse fiscale en financiële maatregelen, en andere bepalingen."