Come Funziona il Codice Fiscale
Scopri l'algoritmo di calcolo del codice fiscale italiano e come viene generato il codice di 16 caratteri.
Cos'è il Codice Fiscale
Il codice fiscale è un codice alfanumerico di 16 caratteri che identifica univocamente ogni cittadino italiano. Viene generato automaticamente seguendo un algoritmo specifico basato sui dati anagrafici della persona.
Struttura del Codice Fiscale
Il codice è composto da: 3 consonanti cognome + 3 consonanti nome + 5 caratteri data + 4 caratteri comune + 1 carattere controllo
Algoritmo di Calcolo
Estrazione Consonanti dal Cognome
Si estraggono le prime 3 consonanti del cognome in ordine di apparizione. Se le consonanti sono meno di 3, si aggiungono le vocali. Se ancora non bastano, si aggiungono delle X.
Esempio:
ROSSI → R, S, S → RSS
BIANCHI → B, N, C, H → B, C, H → BCH
Estrazione Consonanti dal Nome
Per il nome si seguono regole specifiche:
- 4+ consonanti: si prendono la 1ª, 3ª e 4ª consonante
- 3 consonanti: si prendono tutte e 3
- Meno di 3: si prendono quelle disponibili + vocali + X
Esempi:
MARIO → M, R, O → M, R, O → MRO
FRANCESCO → F, R, N, C, S, C → F, C, S → FNC
Codifica della Data di Nascita
La data viene codificata in 5 caratteri: GG + Mese + AA
- Giorno: 2 cifre (per le donne si aggiunge 40)
- Mese: lettera A-L (Gennaio=A, Febbraio=B, ecc.)
- Anno: ultime 2 cifre
Esempi:
15/05/1980 (M) → 15E80
10/08/1985 (F) → 10+40=50 → 50H85
Codice del Comune di Nascita
Si utilizza il codice catastale del comune di nascita, composto da 4 caratteri alfanumerici.
Esempi:
Roma → H501
Milano → F205
Carattere di Controllo
L'ultimo carattere viene calcolato usando una tabella specifica e un algoritmo che considera le posizioni pari e dispari.
Processo:
- Si assegna un valore a ogni carattere usando la tabella di controllo
- Per le posizioni dispari: si somma il valore
- Per le posizioni pari: si somma il valore moltiplicato per 2
- Si calcola il resto della divisione per 26
- Si converte il resto in lettera (A=0, B=1, ecc.)
Esempio Completo
Dati di Esempio
Cognome: Rossi
Nome: Mario
Data: 15/05/1980
Sesso: Maschio
Comune: Roma
Calcolo Passo per Passo
1. Cognome: ROSSI → RSS
2. Nome: MARIO → MRO
3. Data: 15/05/1980 (M) → 15E80
4. Comune: Roma → H501
5. Controllo: Calcolato → U
RSSMRO15E80H501U