Zufällige CPF-Nummern für Testzwecke generieren
Generieren Sie gültige, zufällige CPF (Cadastro de Pessoas Físicas)-Nummern für Testzwecke. Dieses Tool erstellt CPFs, die den offiziellen brasilianischen Format- und Validierungsregeln entsprechen, ohne echte persönliche Informationen zu verwenden.
CPF generieren
Dokumentation
CPF-Generator
Einführung
Die CPF (Cadastro de Pessoas Físicas) ist ein eindeutiger Identifikator, der brasilianischen Staatsbürgern und Einwohnern zu Steuerzwecken zugewiesen wird. Dieser Generator erstellt gültige, zufällige CPF-Nummern für Testzwecke. Es ist wichtig zu beachten, dass diese generierten CPFs nicht mit realen Personen verbunden sind und nur in Testumgebungen verwendet werden sollten.
Struktur einer CPF
Eine CPF besteht aus 11 Ziffern:
- Die ersten 9 Ziffern sind die Basiszahlen
- Die letzten 2 Ziffern sind Prüfziffern
Das Format wird typischerweise als: XXX.XXX.XXX-XX dargestellt
CPF-Validierungsalgorithmus
Der CPF-Validierungsalgorithmus gewährleistet die Integrität der Nummer. So funktioniert es:
- Multiplizieren Sie die ersten 9 Ziffern mit Gewichten (10 bis 2)
- Summieren Sie die Ergebnisse
- Berechnen Sie den Rest der Summe geteilt durch 11
- Wenn der Rest kleiner als 2 ist, ist die erste Prüfziffer 0; andernfalls ist es 11 minus den Rest
- Wiederholen Sie den Prozess für die ersten 10 Ziffern (einschließlich der ersten Prüfziffer) mit Gewichten 11 bis 2
- Berechnen Sie die zweite Prüfziffer nach derselben Regel wie die erste
Verwendung dieses Generators
- Klicken Sie auf die Schaltfläche "CPF generieren"
- Eine gültige, zufällige CPF wird angezeigt
- Sie können die generierte CPF kopieren, um sie in Ihren Testszenarien zu verwenden
Formel
Die Formel zur Generierung einer gültigen CPF lautet wie folgt:
1def generate_cpf():
2 # Generiere 9 zufällige Ziffern
3 base_cpf = [random.randint(0, 9) for _ in range(9)]
4
5 # Berechne die erste Prüfziffer
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 # Berechne die zweite Prüfziffer
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
Berechnung
Der Generator führt die folgenden Schritte aus:
- Generiere 9 zufällige Ziffern
- Berechne die erste Prüfziffer mithilfe des oben beschriebenen Algorithmus
- Berechne die zweite Prüfziffer
- Kombiniere alle Ziffern, um die vollständige CPF zu bilden
Beispiele
Hier sind einige Beispiele für generierte CPFs:
- 123.456.789-09
- 987.654.321-00
- 111.222.333-96
Anwendungsfälle
Der CPF-Generator ist in verschiedenen Softwareentwicklungs- und Testszenarien nützlich:
- Datenbanktests: Testdatenbanken mit gültigen CPF-Nummern füllen
- Formularvalidierung: Eingabevalidierung für brasilianische Benutzerregistrierungsformulare testen
- API-Tests: Generierte CPFs in API-Anfragen verwenden, die gültige brasilianische Identifikationen erfordern
- Leistungstests: Große Mengen einzigartiger, gültiger CPFs für Lasttests generieren
- UI/UX-Tests: Sicherstellen, dass CPF-Nummern in Benutzeroberflächen korrekt formatiert und angezeigt werden
Alternativen
Während die CPF der primäre individuelle Identifikator in Brasilien ist, gibt es andere Identifikatoren, die in bestimmten Kontexten verwendet werden können:
- RG (Registro Geral): Ein staatlich ausgestelltes Identitätsdokument
- CNPJ (Cadastro Nacional da Pessoa Jurídica): Wird für Unternehmen und juristische Personen verwendet
- PIS/PASEP: Wird für beschäftigungsbezogene Zwecke verwendet
Geschichte
Die CPF wurde 1965 in Brasilien eingeführt, um das Steuersystem des Landes zu modernisieren. Ursprünglich wurde sie hauptsächlich für Einkommenssteuerzwecke verwendet, aber im Laufe der Zeit erweiterte sich ihre Verwendung auf verschiedene andere Bereiche der brasilianischen Bürokratie und des Handels.
Wichtige Meilensteine in der Geschichte der CPF:
- 1965: CPF wird für Einzelpersonen eingeführt
- 1972: CPF wird für alle steuerpflichtigen Personen obligatorisch
- 1990er Jahre: CPF wird zunehmend in kommerziellen und finanziellen Transaktionen verwendet
- 2000er Jahre: Digitale Systeme integrieren CPF weiter in das tägliche Leben in Brasilien
Heute ist die CPF ein wesentlicher Bestandteil der Interaktionen brasilianischer Bürger und Einwohner mit Regierungsdiensten, Finanzinstituten und vielen kommerziellen Transaktionen.
Codebeispiele
Hier sind Code-Snippets zur Generierung und Validierung von CPFs in verschiedenen Programmiersprachen:
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## Beispielverwendung
21cpf = generate_cpf()
22print(f"Generierte CPF: {cpf}")
23print(f"Ist gültig: {validate_cpf(cpf)}")
24
1function generateCPF() {
2 const cpf = Array.from({length: 9}, () => Math.floor(Math.random() * 10));
3 for (let i = 0; i < 2; i++) {
4 let sum = cpf.reduce((acc, cur, idx) => acc + cur * (cpf.length + 1 - idx), 0);
5 let digit = 11 - (sum % 11);
6 cpf.push(digit > 9 ? 0 : digit);
7 }
8 return cpf.join('');
9}
10
11function validateCPF(cpf) {
12 const numbers = cpf.match(/\d/g).map(Number);
13 if (numbers.length !== 11 || new Set(numbers).size === 1) return false;
14 for (let i = 9; i < 11; i++) {
15 let sum = numbers.slice(0, i).reduce((acc, cur, idx) => acc + cur * (i + 1 - idx), 0);
16 let digit = 11 - (sum % 11);
17 if (numbers[i] !== (digit > 9 ? 0 : digit)) return false;
18 }
19 return true;
20}
21
22// Beispielverwendung
23const cpf = generateCPF();
24console.log(`Generierte CPF: ${cpf}`);
25console.log(`Ist gültig: ${validateCPF(cpf)}`);
26
1import java.util.Random;
2
3public class CPFGenerator {
4 private static final Random random = new Random();
5
6 public static String generateCPF() {
7 int[] cpf = new int[11];
8 for (int i = 0; i < 9; i++) {
9 cpf[i] = random.nextInt(10);
10 }
11 cpf[9] = calculateCheckDigit(cpf, 10);
12 cpf[10] = calculateCheckDigit(cpf, 11);
13 return formatCPF(cpf);
14 }
15
16 private static int calculateCheckDigit(int[] cpf, int factor) {
17 int sum = 0;
18 for (int i = 0; i < factor - 1; i++) {
19 sum += cpf[i] * (factor - i);
20 }
21 int result = 11 - (sum % 11);
22 return result > 9 ? 0 : result;
23 }
24
25 private static String formatCPF(int[] cpf) {
26 return String.format("%d%d%d.%d%d%d.%d%d%d-%d%d",
27 cpf[0], cpf[1], cpf[2], cpf[3], cpf[4], cpf[5], cpf[6], cpf[7], cpf[8], cpf[9], cpf[10]);
28 }
29
30 public static boolean validateCPF(String cpf) {
31 cpf = cpf.replaceAll("[^0-9]", "");
32 if (cpf.length() != 11) return false;
33 int[] numbers = cpf.chars().map(Character::getNumericValue).toArray();
34 if (allEqual(numbers)) return false;
35 int digit10 = calculateCheckDigit(numbers, 10);
36 int digit11 = calculateCheckDigit(numbers, 11);
37 return numbers[9] == digit10 && numbers[10] == digit11;
38 }
39
40 private static boolean allEqual(int[] array) {
41 for (int i = 1; i < array.length; i++) {
42 if (array[i] != array[0]) return false;
43 }
44 return true;
45 }
46
47 public static void main(String[] args) {
48 String cpf = generateCPF();
49 System.out.println("Generierte CPF: " + cpf);
50 System.out.println("Ist gültig: " + validateCPF(cpf));
51 }
52}
53
Diese Beispiele zeigen, wie man CPFs in Python, JavaScript und Java generiert und validiert. Sie können diese Funktionen an Ihre spezifischen Bedürfnisse anpassen oder in größere Systeme integrieren, die eine CPF-Verarbeitung erfordern.
Rechtliche und ethische Überlegungen
Bei der Verwendung generierter CPFs ist es wichtig, die folgenden Punkte zu beachten:
- Generierte CPFs sind nur für Testzwecke gedacht und sollten niemals verwendet werden, um echte Personen zu impersonifizieren oder für betrügerische Aktivitäten.
- Kennzeichnen Sie alle Testdaten, die generierte CPFs enthalten, deutlich, um Verwirrung mit echten persönlichen Daten zu vermeiden.
- Seien Sie sich der Datenschutzgesetze und -vorschriften in Ihrer Gerichtsbarkeit bewusst, wenn Sie auch gefälschte persönliche Identifikatoren behandeln.
- Verwenden Sie in Produktionsumgebungen immer echte, verifizierte CPFs, die von Benutzern oder autorisierten Quellen bereitgestellt werden.
- Implementieren Sie angemessene Sicherheitsmaßnahmen, um sowohl echte als auch generierte CPFs in Ihren Systemen zu schützen.
Referenzen
- Receita Federal do Brasil. "CPF - Cadastro de Pessoas Físicas." https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf
- Serpro. "Validador de CPF." https://www.serpro.gov.br/links-fixos-superiores/validador-cpf
- Ministério da Fazenda. "História do CPF." https://www.gov.br/fazenda/pt-br/assuntos/receita-federal
- Lei nº 4.862, de 29 de novembro de 1965. "Ändert die Gesetzgebung zur Einkommenssteuer, nimmt verschiedene steuerliche und finanzielle Maßnahmen an und trifft weitere Bestimmungen."
Feedback
Klicken Sie auf das Feedback-Toast, um Feedback zu diesem Tool zu geben
Verwandte Werkzeuge
Entdecken Sie weitere Werkzeuge, die für Ihren Arbeitsablauf nützlich sein könnten