Vai al contenuto

Generatore di CPF - Crea Identificativi Fiscali Brasiliani Validi per Test

Generatore di CPF gratuito che crea numeri di identificazione fiscale brasiliani validi che superano gli algoritmi di convalida. Perfetto per testare moduli, API e database senza utilizzare dati personali reali.

Fai clic per generare un numero CPF brasiliano valido a scopo di test

Calcolatore di caricamento...
📚

Documentazione

Generatore di CPF - Crea Numeri di Identificazione Fiscale Brasiliani Validi per Test

Perché Hai Bisogno di un Generatore di CPF per i Test

Sviluppando applicazioni per il mercato brasiliano, ti imbatterai rapidamente in una sfida comune: testare form e logica di convalida senza compromettere dati reali degli utenti. Ecco perché un generatore di CPF diventa essenziale.

Il CPF (Cadastro de Pessoas Físicas) è l'identificativo univoco di 11 cifre emesso in Brasile a cittadini e residenti per scopi fiscali. Questo strumento crea numeri CPF casuali matematicamente validi che superano l'algoritmo ufficiale di convalida brasiliano - perfetti per popolare database di test, convalidare form di input ed eseguire test automatizzati senza preoccupazioni sulla privacy.

Limitazione critica: I CPF generati sono destinati esclusivamente ad ambienti di test. Non sono associati a individui reali e non devono mai essere utilizzati in sistemi di produzione o per scopi fraudolenti. Ciò che li rende preziosi è che superano i controlli di convalida mantenendo i dati di test completamente separati dalle informazioni personali reali.

Comprendendo a Estrutura e o Formato do CPF

Um CPF válido consiste em 11 dígitos com uma estrutura específica:

  • Primeiros 9 dígitos: Números base de identificação
  • Últimos 2 dígitos: Dígitos de verificação para validação
  • Formato padrão: XXX.XXX.XXX-XX (com pontos e hífen)

Exemplo: 123.456.789-09

Os dígitos de verificação garantem que o número do CPF seja matematicamente válido, prevenindo erros de digitação e entradas inválidas em sistemas brasileiros.

Come funziona la convalida del CPF

L'algoritmo di convalida del CPF utilizza un sistema di cifra di controllo con modulo-11 ponderato per garantire l'integrità del numero. Comprendere questo algoritmo è cruciale quando si implementa la convalida del CPF nelle proprie applicazioni.

Il Processo di Convalida Spiegato

L'algoritmo calcola due cifre di controllo (gli ultimi due digit del CPF) basandosi sui primi nove digit:

Calcolo della prima cifra di controllo:

  1. Moltiplicare i primi 9 digit per pesi decrescenti (10, 9, 8, 7, 6, 5, 4, 3, 2)
  2. Sommare tutti i risultati delle moltiplicazioni
  3. Calcolare il resto quando diviso per 11
  4. Se il resto < 2, la cifra di controllo è 0; altrimenti è 11 meno il resto

Calcolo della seconda cifra di controllo:

  1. Ripetere il processo per i primi 9 digit più la prima cifra di controllo (10 digit in totale)
  2. Utilizzare i pesi 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
  3. Applicare la stessa logica del resto

Questa convalida a due fasi cattura la maggior parte degli errori di trascrizione e impedisce a numeri casuali di passare come CPF validi. L'algoritmo è documentato in Lei nº 4.862/1965, che ha istituito il sistema CPF.

Perché Questo è Importante per gli Sviluppatori

Quando si costruisce la convalida del CPF, spesso gli sviluppatori trascurano il caso limite in cui il resto è 0 o 1 - questi dovrebbero corrispondere a una cifra di controllo 0, non 10 o 11. Questa è una fonte comune di bug di convalida. La formula (sum * 10 % 11) % 10 gestisce questo caso limite in modo pulito assicurando che il risultato non superi mai 9.

Come Utilizzare Questo Strumento di Generazione CPF

Generare CPF di test validi richiede pochi secondi:

  1. Fare clic sul pulsante "Genera CPF"
  2. Visualizzare il numero CPF casuale valido nel formato standard XXX.XXX.XXX-XX
  3. Copiare il numero generato con un solo clic
  4. Incollare direttamente nei moduli di test, richieste API o seed di database

Ogni CPF generato supera l'algoritmo di convalida ufficiale del Brasile, quindi è possibile testare la logica di convalida con sicurezza. I numeri vengono generati casualmente ogni volta, riducendo la possibilità di conflitti nei set di dati di test.

Formula

La formula per generare un CPF valido è la seguente:

1def generate_cpf():
2    # Genera 9 cifre casuali
3    base_cpf = [random.randint(0, 9) for _ in range(9)]
4    
5    # Calcola il primo cifra di controllo
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    # Calcola il secondo cifra di controllo
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

Calcolo

Il generatore esegue i seguenti passaggi:

  1. Genera 9 cifre casuali
  2. Calcola il primo cifra di controllo utilizzando l'algoritmo descritto sopra
  3. Calcola il secondo cifra di controllo
  4. Combina tutte le cifre per formare il CPF completo

Esempi

Ecco alcuni esempi di CPF generati:

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

Casi d'Uso Comuni per Testare i Numeri di CPF

Basati su scenari di sviluppo reali, ecco quando avrai bisogno di numeri CPF generati:

Scenari di Sviluppo e Test

Seeding e migrazione del database: Quando si configura un ambiente locale o di staging, è necessario disporre di dati di test realistici. I CPF generati consentono di creare centinaia o migliaia di record utente di test senza toccare informazioni personali reali. Questo è particolarmente utile quando si testano vincoli del database e indici univoci sulle colonne CPF.

Test di convalida dei moduli: I moduli di registrazione brasiliani richiedono tipicamente la convalida del CPF sia lato client che lato server. Testare i casi limite, come CPF formattati correttamente ma non validi o cifre tutte identiche (111.111.111-11), aiuta a individuare bug di convalida prima che raggiungano la produzione. I CPF generati forniscono casi di test validi per verificare che la logica di convalida funzioni correttamente.

Test di integrazione API: Quando si costruiscono integrazioni con gateway di pagamento brasiliani, servizi finanziari o API governative, spesso sono necessari numeri CPF validi nelle richieste di test. L'uso di CPF generati mantiene la suite di test indipendente dai dati utente reali.

Test di carico e prestazioni: Per sottoporre a stress test sistemi che elaborano dati utente brasiliani, sono necessari grandi volumi di CPF unici e validi. La generazione di migliaia di CPF di test consente di simulare un carico realistico senza preoccupazioni per la privacy.

Convalida UI/UX: Testare come l'interfaccia gestisce la visualizzazione, la mascheratura e la formattazione del CPF su diversi schermi e contesti. I CPF generati aiutano a verificare che la logica di formattazione (aggiunta di punti e trattini) funzioni in modo coerente.

Insidie Comuni da Evitare

Un errore che gli sviluppatori commettono spesso è dimenticare che le cifre tutte identiche (come 000.000.000-00 o 111.111.111-11) sono tecnicamente valide dall'algoritmo ma vengono rifiutate dai sistemi brasiliani reali. Durante il test, includere controlli per questi modelli noti come non validi, anche se superano la convalida matematica.

Un altro problema: i CPF generati funzionano bene per testare la logica di convalida, ma non aiutano a testare ricerche CPF effettive nei database governativi. Per test di integrazione che interrogano API governative brasiliane reali, sarà necessario utilizzare CPF di test designati forniti da tali servizi (come l'ambiente di test di Serpro).

Sistemi di Identificazione Brasiliani Correlati

Mentre il CPF è l'identificatore individuale principale in Brasile, comprendere i sistemi correlati aiuta quando si costruiscono applicazioni brasiliane complete:

RG (Registro Geral): Numeri di documenti di identità rilasciati dallo stato. A differenza del CPF, che è federale e segue un formato coerente, i numeri RG variano per stato e non hanno un algoritmo di convalida standardizzato. Quando si costruiscono applicazioni per il Brasile, in genere è richiesto il CPF per la convalida backend e può essere accettato l'RG come identificazione secondaria.

CNPJ (Cadastro Nacional da Pessoa Jurídica): L'equivalente aziendale del CPF, utilizzato per aziende ed entità legali. Il CNPJ utilizza un algoritmo di convalida modulo-11 simile ma ha 14 cifre invece di 11. Se si costruiscono applicazioni B2B per il Brasile, sarà necessario gestire sia CPF (per proprietari di attività individuali) che CNPJ (per aziende registrate).

PIS/PASEP/NIT: Numeri di identificazione relativi all'impiego utilizzati dal sistema di sicurezza sociale brasiliano. Questi sono meno comunemente richiesti nelle applicazioni generali ma sono essenziali per i sistemi HR e payroll.

L'Evoluzione del CPF in Brasile

Il sistema CPF è stato istituito dalla Lei nº 4.862/1965 come parte degli sforzi di modernizzazione fiscale del Brasile. Quello che è iniziato come un semplice identificatore fiscale è diventato il numero di identificazione nazionale de facto del Brasile.

Pietre miliari principali:

  • 1965: CPF introdotto per la dichiarazione dei redditi
  • 1972: Reso obbligatorio per tutti i contribuenti
  • Anni '90: Adozione commerciale accelerata: banche e rivenditori iniziano a richiedere CPF per le transazioni
  • Anni 2000: Trasformazione digitale che rende il CPF essenziale per i servizi online
  • Anni 2020: CPF richiesto per quasi tutti i servizi governativi, transazioni finanziarie e persino acquisti dei consumatori

Questa espansione spiega perché la convalida del CPF è critica per qualsiasi applicazione che serva utenti brasiliani: non è più solo un identificatore fiscale, ma il modo in cui i brasiliani si identificano in innumerevoli contesti. Quando si testano questi sistemi, avere numeri CPF validi è essenziale per scenari di test realistici.

Esempi di Codice per Generazione e Convalida CPF

Se è necessario integrare direttamente nella propria applicazione la generazione e la convalida del CPF, ecco implementazioni pronte per la produzione in linguaggi popolari. Ogni esempio include sia funzioni di generazione che di convalida in modo da poter implementare l'intero flusso di lavoro.

Queste implementazioni seguono l'algoritmo ufficiale della Receita Federal e includono la gestione dei casi limite menzionati in precedenza (resto 0 e 1 mappato a cifra di controllo 0).

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

Esempio di utilizzo

cpf = genera_cpf() print(f"CPF generato: {cpf}") print(f"È valido: {valida_cpf(cpf)}")

1
2

javascript function generaCPF() { const cpf = Array.from({length: 9}, () => Math.floor(Math.random() * 10)); for (let i = 0; i < 2; i++) { let sum = cpf.reduce((acc, cur, idx) => acc + cur * (cpf.length + 1 - idx), 0); let digit = 11 - (sum % 11); cpf.push(digit > 9 ? 0 : digit); } return cpf.join(''); }

function validaCPF(cpf) { const numbers = cpf.match(/\d/g).map(Number); if (numbers.length !== 11 || new Set(numbers).size === 1) return false; for (let i = 9; i < 11; i++) { let sum = numbers.slice(0, i).reduce((acc, cur, idx) => acc + cur * (i + 1 - idx), 0); let digit = 11 - (sum % 11); if (numbers[i] !== (digit > 9 ? 0 : digit)) return false; } return true; }

// Esempio di utilizzo const cpf = generaCPF(); console.log(CPF generato: ${cpf}); console.log(È valido: ${validaCPF(cpf)});

1
2

java import java.util.Random;

public class GeneratoreCPF { private static final Random random = new Random();

public static String generaCPF() {
    int[] cpf = new int[11];
    for (int i = 0; i < 9; i++) {
        cpf[i] = random.nextInt(10);
    }
    cpf[9] = calcolaCifraControllo(cpf, 10);
    cpf[10] = calcolaCifraControllo(cpf, 11);
    return formattaCPF(cpf);
}

private static int calcolaCifraControllo(int[] cpf, int fattore) {
    int somma = 0;
    for (int i = 0; i < fattore - 1; i++) {
        somma += cpf[i] * (fattore - i);
    }
    int risultato = 11 - (somma % 11);
    return risultato > 9 ? 0 : risultato;
}

private static String formattaCPF(int[] cpf) {
    return String.format("%d%d%d.%d%d%d.%d%d%d-%d%d",
            cpf[0], cpf[1], cpf[2], cpf[3], cpf[4], cpf[5], cpf[6], cpf[7], cpf[8], cpf[9], cpf[10]);
}

public static boolean validaCPF(String cpf) {
    cpf = cpf.replaceAll("[^0-9]", "");
    if (cpf.length() != 11) return false;
    int[] numeri = cpf.chars().map(Character::getNumericValue).toArray();
    if (tuttiUguali(numeri)) return false;
    int cifra10 = calcolaCifraControllo(numeri, 10);
    int cifra11 = calcolaCifraControllo(numeri, 11);
    return numeri[9] == cifra10 && numeri[10] == cifra11;
}

private static boolean tuttiUguali(int[] array) {
    for (int i = 1; i < array.length; i++) {
        if (array[i] != array[0]) return false;
    }
    return true;
}

public static void main(String[] args) {
    String cpf = generaCPF();
    System.out.println("CPF generato: " + cpf);
    System.out.println("È valido: " + validaCPF(cpf));
}

}


**Utilizzando queste implementazioni:**

- Le funzioni di convalida gestiscono sia input formattato (XXX.XXX.XXX-XX) che non formattato (XXXXXXXXXXX)
- Aggiungere controlli per modelli noti non validi (tutte cifre identiche) nel codice di produzione
- Considerare l'uso di librerie consolidate come `validate-docbr` (Python) o `cpf-cnpj-validator` (JavaScript) per sistemi di produzione—gestiscono casi limite ed sono ben testate
- Questi esempi sono utili per comprendere l'algoritmo o costruire implementazioni leggere senza dipendenze esterne

## Domande Frequenti sulla Generazione di CPF

### Il generatore di CPF è gratuito?
Sì, questo strumento è completamente gratuito e non richiede registrazione. Genera tutti i numeri CPF che ti servono per test senza limiti di utilizzo o costi nascosti.

### I numeri CPF generati sono associati a persone reali?
No. Anche se i numeri sono matematicamente validi e superano gli algoritmi di convalida, sono generati casualmente e non registrati presso la Receita Federal brasiliana. Esistono solo come dati di test e devono essere utilizzati esclusivamente in ambienti di sviluppo e testing.

### Posso utilizzare CPF generati in sistemi di produzione?
Mai. I sistemi di produzione devono utilizzare CPF reali e verificati forniti dagli utenti attraverso processi di registrazione legittimi. L'uso di CPF generati in sistemi live viola i principi di integrità dei dati e potrebbe causare seri problemi legali ai sensi della [legge brasiliana sulla protezione dei dati (LGPD)](https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd).

### Come garantisce la validità del CPF il generatore?
Lo strumento implementa l'algoritmo ufficiale di convalida CPF specificato dalla Receita Federal. Calcola entrambe le cifre di controllo utilizzando la formula del modulo 11 ponderata, garantendo che ogni numero generato superi i test di convalida standard. L'algoritmo è lo stesso utilizzato dai sistemi governativi brasiliani e dalle istituzioni finanziarie.

### Qual è la differenza tra CPF e CNPJ?
CPF (Cadastro de Pessoas Físicas) identifica persone fisiche—cittadini e residenti. CNPJ (Cadastro Nacional da Pessoa Jurídica) identifica aziende ed entità giuridiche. Pensa al CPF come simile al Social Security Number negli USA, mentre il CNPJ è come un Employer Identification Number (EIN). Avrai bisogno di generatori diversi per ciascun tipo.

### È legale generare numeri di test CPF?
Generare numeri CPF per test legittimi di sviluppo software è legale. Ciò che è illegale è utilizzarli fraudolentemente—per impersonare persone reali, commettere furto di identità o aggirare misure di sicurezza. Mantieni i CPF generati chiaramente contrassegnati come dati di test e limitati ad ambienti non di produzione.

### Cosa succede con i CPF duplicati?
Sebbene teoricamente possibile, i duplicati sono estremamente rari. Esistono circa 100 miliardi di possibili combinazioni di CPF valide (considerando i vincoli delle cifre di controllo), quindi la probabilità di generare lo stesso numero due volte è di circa 1 su 100 miliardi per tentativo. In scenari pratici di test, i duplicati non saranno un problema a meno che tu non stia generando centinaia di milioni di CPF.

### I CPF generati funzionano con le librerie di convalida?
Sì. I CPF generati superano la convalida in librerie popolari tra i linguaggi—`validate-docbr` di Python, `cpf-cnpj-validator` di JavaScript, `geekcom/validator-docs` di PHP e altri. Soddisfano i requisiti matematici che queste librerie controllano. Tuttavia, non supereranno i controlli di "ricerca CPF reale" nei database governativi, che è esattamente ciò che si desidera per test isolati.

### Perché alcuni CPF validi vengono rifiutati dalla mia convalida?
Il tuo validatore potrebbe controllare schemi non validi oltre all'algoritmo matematico. Ad esempio, i CPF con tutte cifre identiche (000.000.000-00, 111.111.111-11, ecc.) sono matematicamente validi ma sono inseriti in blacklist dalla maggior parte dei sistemi brasiliani perché sono noti valori di test. Una logica di convalida efficace include sia l'algoritmo delle cifre di controllo che questi rifiuti basati su schemi.

## Considerazioni Legali ed Etiche

Quando si utilizza un **generatore di CPF**, seguire queste importanti linee guida:

1. **Solo test:** I CPF generati sono strettamente per ambienti di sviluppo e test
2. **Etichettatura chiara:** Contrassegnare tutti i dati di test contenenti CPF generati per prevenire confusione con dati reali
3. **Conformità alla privacy:** Comprendere le leggi sulla protezione dei dati (come la LGPD in Brasile) anche quando si gestiscono identificatori fittizi
4. **Sistemi di produzione:** Utilizzare sempre CPF reali e verificati da fonti autorizzate in ambienti live
5. **Misure di sicurezza:** Implementare una protezione adeguata per CPF sia reali che generati nei propri sistemi
6. **Nessuna impersonificazione:** Non utilizzare mai numeri generati per impersonare individui reali o commettere frodi

## Utilizzo di CPF generati nel tuo Test Suite

Per gli sviluppatori che lavorano su applicazioni brasiliane, disporre di dati di test affidabili è imprescindibile. Questo generatore di CPF fornisce numeri matematicamente validi che superano i controlli di convalida, mantenendo i tuoi test completamente separati dai dati degli utenti reali.

Ricorda questi punti chiave quando integri CPF generati nel tuo flusso di lavoro:

- **Contrassegna chiaramente i dati di test** negli schemi del database e nella documentazione
- **Implementa controlli di pattern** per CPF noti come non validi (tutte cifre identiche) nella tua convalida
- **Utilizza CPF generati solo in ambienti non di produzione** - staging, sviluppo e pipeline CI/CD
- **Fai riferimento alle specifiche ufficiali di convalida** del [Receita Federal](https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf) quando costruisci la tua logica di convalida

Fai clic sul pulsante di generazione sopra per creare numeri CPF validi per le tue esigenze di test.

## Riferimenti e Documentazione Ufficiale

Per informazioni autorevoli sugli standard CPF e le normative sui dati brasiliani:

1. **Receita Federal do Brasil.** "CPF - Cadastro de Pessoas Físicas." Documentazione ufficiale dei requisiti e della convalida del CPF. [https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf](https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf)

2. **Serpro (Servizio di Elaborazione Dati Federale).** "Validador de CPF." Servizio governativo di convalida CPF con ambiente di test. [https://www.serpro.gov.br/links-fixos-superiores/validador-cpf](https://www.serpro.gov.br/links-fixos-superiores/validador-cpf)

3. **Lei Geral de Proteção de Dados (LGPD).** "Legge Generale di Protezione dei Dati Brasiliana." Quadro giuridico che disciplina il trattamento dei dati personali in Brasile. [https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd](https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd)

4. **Lei nº 4.862/1965.** "Modifica la legislazione sull'imposta sul reddito." Legislazione originale che istituisce il sistema CPF. [https://www.planalto.gov.br/ccivil_03/leis/l4862.htm](https://www.planalto.gov.br/ccivil_03/leis/l4862.htm)

5. **Ministério da Fazenda.** "Storia del CPF." Contesto storico ed evoluzione del sistema CPF. [https://www.gov.br/fazenda/pt-br/assuntos/receita-federal](https://www.gov.br/fazenda/pt-br/assuntos/receita-federal)

---

**Titolo Meta:** Generatore CPF - Crea ID Fiscali Brasiliani Validi per Test
**Descrizione Meta:** Generatore CPF gratuito che crea numeri di identificazione fiscale brasiliani validi che superano gli algoritmi di convalida. Perfetto per testare moduli, API e database senza utilizzare dati personali reali.