Grazie per l'aiuto!
--
Falco Stellare
DeepVoid: www.deepvoid.it
DeepVoid's Log: www.deepvoidlog.com
Trovi tutte le info su Wikipedia (cerca "Codice Fiscale") o sul sito
dell'agenzia delle entrate.
Andrea
> Esiste uno script PHP per estrapolare i dati da un normale codice
> fiscale italiano?
Non in maniera certa, il codice reale è quello assegnato dal Ministero
non quello calcolato con l'algoritmo.
> Cos'ha di misterioso un codice fiscale? es: ABC DEF 50A01 A054x
Andrea, ti ringrazio per le preziose indicazioni :-)
La parte che più mi interessa estrapolare riguarda la data e il luogo di
nascita, il nome e cognome sarà gestito per altre vie dall'applicazione
che stiamo sviluppando.
Cosa c'è di complicato?
http://it.wikipedia.org/wiki/Codice_fiscale
Per quanto riguarda la data è una cosa più che banale: XXZYY dove XX è
l'anno di nascita (vedremo come faranno a sapere se uno è nato nel 2003
o nel 1903... ma era così complicato usare 4 cifre io dico), Z è il mese
corrispondente alla tabella che c'è in wiki (basta un array
associativo per rappresentarlo), YY è il giorno: se è > 40 significa che
il soggetto è una donna e devi togliere 40 per ottenere il giorno reale.
La parte più rognosa (diciamo) è il codice catastale del comune di
nascita, perché devi scaricare il database dei codici catastali e quindi
ricercare il codice nel db.
Come al solito c'è chi si è sbattuto per te e ha già preparato un dump
sql da importare dove vuoi, con tutte le regioni, le province e i comuni
con anche i codici catastali qui:
http://www.redfoxy.it/articoli-e-guide/articoli/36-articoli/67-tutti-i-comuni-e-le-province-ditalia.html
> nascita, il nome e cognome sarà gestito per altre vie
> dall'applicazione che stiamo sviluppando.
Anche perché ti voglio vedere da 3 consonanti indovinare il nome e
soprattutto il cognome :D
--
Jax
>> Cos'ha di misterioso un codice fiscale? es: ABC DEF 50A01 A054x
>Andrea, ti ringrazio per le preziose indicazioni :-)
>La parte che più mi interessa estrapolare riguarda la data e il luogo di
>nascita, il nome e cognome sarà gestito per altre vie dall'applicazione
>che stiamo sviluppando.
Beh, anno, mese, giorno e sesso ce li hai direttamente. Il luogo di
nascita lo ricavi da un archivio di codici fiscali.
Estrarre i dati dal codice lo fai con preg_match o con unpack, vedi
tu cosa ti torna piu' comodo.
Leonardo
--
Enough, enough! But stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!
> vedremo come faranno a sapere se uno è nato nel 2003
> o nel 1903...
Basta differenziare sull'ultimo carattere del codice.
Chiaramente, ma lo deve fare il ministero, e quindi gli algoritmi di
controllo vanno in pappa (e bisogna implementare la forzatura, con tutto
quello che ne consegue).
Mi chiedo perché queste "eccezioni", quando è stato inventato il codice
fiscale, non siano state prese in considerazione e si sia agito di
conseguenza: era *così* difficile fare un codice fiscale *univoco*? E'
talmente strano che mi viene da pensare che sia stato pensato
volutamente non univoco...
E, se è strano per il codice fiscale, la stessa cosa vale per l'IBAN
(anche se in maniera molto meno grave), che è stato pensato ben più tardi...
O ho capito male la tua risposta?
--
Jax
> Mi chiedo perché queste "eccezioni", quando è stato inventato il codice
> fiscale, non siano state prese in considerazione e si sia agito di
> conseguenza: era *così* difficile fare un codice fiscale *univoco*?
Il codice fiscale è un codice di serie. Vai a vedere in altri paesi come è
fatto. Sembra più un numero di serie che altro. In Italia avete la fortuna
di avere un codice fiscale abbastanza "parlante" che può essere generato e
decodificato con "sufficiente" facilità e sicurezza.
Ma nonostatante questo, il MIO codice fiscale non coincide con quello
generato dai vari programmi, tant'è che a suo tempo non avevo potuto
iscrivermi a determinati siti (alice, per esempio) in quanto non
riconosceva il mio codice fiscale come esatto. Ed anche oggi, spesso, ho
questo problema. Il tutto perché ci sono persone/organizzazioni che tentano
di decodificare qualcosa che non ha una decodifica certa.
NOTA: il mio nome, come potete vedere ha dentro una X ed il mio cognome
sembra già di per se un codice fiscale. Non credo che la difformità dei due
codici sia dovuta ad un doppione...
--
Please visit my website: http://www.kuschelbaerchen.net
$DO || ! $DO ; try
try: command not found
[Do or do not. There is no try - by Yoda]
> NOTA: il mio nome, come potete vedere ha dentro una X ed il mio cognome
> sembra già di per se un codice fiscale.
XLA NRZ ? ;-)
> Non credo che la difformità dei due codici sia dovuta ad un doppione...
Eh no, Alex Arnz non mi sembra un nome diffuso.
Grazie della testimonianza, esempio vivente di come si può rendere
difficile la vita agli altri, come sito che pretende di fare la verifica
formale del CF.
Hai desistito o hai usato un codice falso?
Vero, è anche molto più semplice da ricordare.
> Ma nonostatante questo, il MIO codice fiscale non coincide con quello
> generato dai vari programmi, tant'è che a suo tempo non avevo potuto
> iscrivermi a determinati siti (alice, per esempio) in quanto non
> riconosceva il mio codice fiscale come esatto. Ed anche oggi, spesso, ho
> questo problema. Il tutto perché ci sono persone/organizzazioni che tentano
> di decodificare qualcosa che non ha una decodifica certa.
Sei l'esempio vivente di quello che volevo dire. Se dovete fare un
algoritmo che generi un codice *univoco*, fatelo bene, cazzo, altrimenti
sorgono i problemi come il tuo.
Non ho ben capito se il tuo disappunto è verso le istituzioni che ti
hanno dato un codice fiscale astruso o verso chi fa i controlli di
validità formale... nel secondo caso non è giusto che tu te la prenda
con loro... nel codice fiscale esiste l'ultima lettera che è di
controllo, e dovrebbe essere fatta apposta per avere la certezza
*matematica* che il codice sia corretto.
Se questa certezza matematica non c'è, tanto valeva non metterla e
basta: nessuno avrebbe fatto un algoritmo di controllo (tranne che sui
dati inseriti) e tu non avresti avuto alcun problema.
> NOTA: il mio nome, come potete vedere ha dentro una X ed il mio cognome
> sembra già di per se un codice fiscale. Non credo che la difformità dei due
> codici sia dovuta ad un doppione...
Fammi indovinare: RNZ LXA... :)
In effetti è un caso particolare, ma non così tanto... pensa a tutti gli
immigrati cinesi che si chiamano Li, Chan, Chu...
--
Jax
> Vero, è anche molto più semplice da ricordare.
Appunto.
> Sei l'esempio vivente di quello che volevo dire. Se dovete fare un
> algoritmo che generi un codice *univoco*, fatelo bene, cazzo, altrimenti
> sorgono i problemi come il tuo.
I codici sono univoci.
> Non ho ben capito se il tuo disappunto è verso le istituzioni che ti
> hanno dato un codice fiscale astruso o verso chi fa i controlli di
> validità formale... nel secondo caso non è giusto che tu te la prenda
> con loro... nel codice fiscale esiste l'ultima lettera che è di
> controllo, e dovrebbe essere fatta apposta per avere la certezza
> *matematica* che il codice sia corretto.
Secondo le direttive del ministero, il mio codice è corretto. Secondo molti
programmi che sono in giro no. Perchè il mio vero nome è Alexander, mentre
il codice fiscale è LXD e non LXN, eppure il codice di controllo lo
verifica correttamente.
> Se questa certezza matematica non c'è, tanto valeva non metterla e
> basta: nessuno avrebbe fatto un algoritmo di controllo (tranne che sui
> dati inseriti) e tu non avresti avuto alcun problema.
No, la maggiorparte dei siti che non funzionano, PRETENDONO che il mio
codice fiscale, nella parte del nome, sia LXD. Se metto LXD riesco ad
iscrivermi correttamente, probabilmente con il codice fiscale di altre
persone, però, oppure con un codice fiscale che non è assegnato ad alcuno.
I programmi di controllo del codice fiscale non controllano l'esattezza del
carattere di controllo. Ma controllano che il codice fiscale sia quello che
loro pensano venga assegnato quando il tuo nome è unico; anni fa in una
qualche trasmissione c'era un tizio che lamentava un problema simile, e
continuava ad iscriversi ovunque con il codice fiscale del fratello gemello
(che aveva un nome molto simile). In pratica per moltissime istituzioni lui
non aveva diritto ad esistere.
Un altro caso particolare fu quello di persone di mia conoscenza, nate
nell'ex DDR, molti programmi di generazione dei codici (e quindi di
decodifica) non ammettono più l'esistenza passata dell'ex repubblica
democratica tedesca, quindi quelle persone hanno ora un sacco di problemi,
qui in Italia.
> Grazie della testimonianza, esempio vivente di come si puň rendere
> difficile la vita agli altri, come sito che pretende di fare la verifica
> formale del CF.
Verifica fatta alla membro di segugio secondo delle regole che sono piů o
meno valide nel 98% dei casi, secondo le statistiche del ministero (non
ricordo dove le vidi)
> Hai desistito o hai usato un codice falso?
Per Alice ho desistito, felicemente, in altri casi uso il codice che loro
pretendono che io debba avere in mano ... contenti loro!
Chiedono il codice fiscale per evitare iscrizioni false, e poi prendendono
iscrizioni false da chi vuole inserire i dati veri.
Nell'improbabile (ma possibile) situazione in cui nello stesso giorno e
nello stesso paese nascono due persone con lo stesso nome la frittata è
fatta, bisogna intervenire manualmente per renderli univoci.
E' questo che intendevo.
> Secondo le direttive del ministero, il mio codice è corretto. Secondo molti
> programmi che sono in giro no. Perchè il mio vero nome è Alexander, mentre
> il codice fiscale è LXD e non LXN, eppure il codice di controllo lo
> verifica correttamente.
Però non ho ancora capito qual è il codice fiscale che hai sul tesserino :)
Secondo il solito algoritmo, se ti chiami Alexander il tuo codice del
nome dovrebbe essere LND (1a, 3a e 4a consonante), così come io che mi
chiamo Giovanni ho GNN.
Certo che se all'agenzia delle entrate si sono inventati di darti LXN
sono dei gran geni...
> No, la maggiorparte dei siti che non funzionano, PRETENDONO che il mio
> codice fiscale, nella parte del nome, sia LXD. Se metto LXD riesco ad
> iscrivermi correttamente, probabilmente con il codice fiscale di altre
> persone, però, oppure con un codice fiscale che non è assegnato ad alcuno.
Può essere un caso... mai provato con LND?
> I programmi di controllo del codice fiscale non controllano l'esattezza del
> carattere di controllo. Ma controllano che il codice fiscale sia quello che
> loro pensano venga assegnato quando il tuo nome è unico;
Da quello che mi risulta, la maggior parte dei programmi fanno proprio
(e solo) il controllo del check digit. Solo in rari casi controllano
l'esattezza anche prendendo nome, cognome e dati di nascita.
> Un altro caso particolare fu quello di persone di mia conoscenza, nate
> nell'ex DDR, molti programmi di generazione dei codici (e quindi di
> decodifica) non ammettono più l'esistenza passata dell'ex repubblica
> democratica tedesca, quindi quelle persone hanno ora un sacco di problemi,
> qui in Italia.
Permettimi, programmi scritti col culo. Se una nazione non esiste oggi
non è che tutti quelli che ci sono nati non esistono :)
--
Jax
Altro che improbabile... :)
http://it.wikipedia.org/wiki/Omocodia
Comunque rileggendo il tuo post ho capito cosa intendevi: siccome ci
sono casi in cui non si applica l'algoritmo standard di calcolo, sarebbe
giusto che nei programmi in generale non venissero fatte verifiche sul
codice fiscale inserito...
Ti potrei anche dar ragione per concetto, ma secondo me è giusto che ci
sia un controllo: quello che è oggettivamente sbagliato è che non sia
possibile una forzatura.
Nell'anagrafica clienti e fornitori della mia ditta ho visto cose che tu
non immagini, solo perché il programma ti avvisa che il codice è
sbagliato ma ti lascia forzare.....
--
Jax
La chiudo qui riportando l'ultima frase, che è assolutamente fantastica.
"Ad oggi, il modulo di segnalazione e reclami del sito delle agenzie
delle entrate, restituisce errore in caso di inserimento di un codice
omocode."
Non so se ridere o se piangere!
--
Jax
> siccome ci sono casi in cui non si applica l'algoritmo standard di
> calcolo,
Il punto è che non è un algoritmo standard, il CF è solo quello che ti
assegna il Ministero.
Teoricamente dovrebbe essere LND:
le X vanno scartate perche' vengono inserite in caso di nomi lunghi meno
di tre lettere.
strano che ti abbiano dato LXD al max mi sarei aspettato LXN.