QUAL A LOGICA DO DIGITO VERIFICADOR CPF

SERGIOPASCOAL 23/03/2005 08:14:35
#74411
Galera eu possuo a rotina para verificação do CPF, q peguei aqui no site mesmo.
Coloquei no meu projeto funcionou belezinha, mas não entendi bulhufas da lógica.
Então gostaria de entender como faz e como cria o digito verificador, pq um cliente meu quer colocar digito verificador nos código dele, para evitar erro de digitação, então primeiro como é a lógica do DF do CPF e como criar um DF?

Obrigado
USUARIO.EXCLUIDOS 23/03/2005 09:40:36
#74431
cara depois eu ti mando isso, eu tenhu um belo exemplo de qual é a logica que ele usa, depois eu ti respondo, pois estou na escola. Falow
USUARIO.EXCLUIDOS 23/03/2005 09:55:23
#74437
Resposta escolhida
Olá amigo, este codigo explica a lógica principalmente, apesar de ser JAVASCRIPT... mas a lógica você vai entender...

LÓ“GICA DE VALIDAÇÃO DE CPF

Não se esqueça de encerrar o tópico
SERGIOPASCOAL 23/03/2005 10:04:06
#74442
Obrigado Germanir! a Lógica entendi, era exatamente isso que eu queria saber.
Mas agora como posso fazer um verificador meu? existe alguma regra? ou existe uma padrão usado por todos?
Exemplo:
Qual a fórmula para um código com 3 digitos? ou para 4 digitos? .....
Obrigado
USUARIO.EXCLUIDOS 23/03/2005 10:48:38
#74458
Pelo o que você viu o objetivo todo é simplesmente ver se a numeração principal, bate com os 2 dígitos verificadores, para evitar fraudes, e validar o próprio!! Mas como já existem vários programas que usam este algorítimo para criar números de CPF e etc, acho que a tendência é acontecer o mesmo com o cep.... depois que os correios disponibilizaram o CEP pela web, a verificação é feita atraves de um grande banco de dados com todos os ceps, acho que futuramente a receita federal pode fazer o mesmo, a medida que web for mais ampla e acessível.

Agora sobre os padrões sugiro que estude mais um pouco de matemática, não existe uma regra comum, por exemplo, precisei um vez gerar um código, e depois verificar se o mesmo era verdadeiro, para gerar o registro, usei 8 Digitos
Este era o codigo gerado
1403100503
Day(Date) & Month(Date) & Hour(Time) & Minute(Time) & Second(Time)
onde 14 é o dia com 2 digitos
onde 03 é o mes com 2 digitos
onde 10 é a hora.. 2 digitos
onde 05 é os minutos 2 digitos
onde 03 é os segundos 2 digitos
E para verificar e gerar o codigo de registro eu SOMAVA tudo pelo digito anterior
(14+03) & (03+10) & (10+05) & (05+03)
Resultado
1713150703

O sistema gerava
1403100503
E o codigo do registro a ser digitado era
1713150703

obs: cada vez aque o programa expirava era gerado um código de registro diferente.. pois os mesmo dependia de hora, dia e etc.
Day(Date) & Month(Date) & Hour(Time) & Minute(Time) & Second(Time)
rsrss..
é uma lógica banal... sei... mas é mais ou menor por este caminho... entende... resolveu meu problema temporariamente! E ninguém descobriu a lógica e crackeou meu programa... mas como falei... para ajudar mais ainda... poderia ser implementado uma criptografia pra ajudar...
FUJIOKA 23/03/2005 13:28:20
#74491
Modulo 11 base 9
funciona assim:
DV módulo 11 corresponde ao resto da divisão por 11 do somatório da multiplicação de cada algarismo da base respectivamente por 9, 8, 7, 6, 5, 4, 3, 2, 1 e 0, a partir da unidade. O resto 10 é considerado 0. Veja, abaixo, exemplo de cálculo de DV módulo 11 para CPF:

2 8 0 0 1 2 3 8 9 4 = 6
x x x x x x x x x x
0 1 2 3 4 5 6 7 8 9
----------------------------
0+ 8+ 0+ 0+ 4+10+18+56+72+36 = 204à·11=18, com resto 6

A Região Fiscal onde emitido o CPF (definida pelo nono dígito) tem a seguinte abrangência: 1 (DF-GO-MS-MT-TO), 2 (AC-AM-AP-PA-RO-RR), 3 (CE-MA-PI), 4 (AL-PB-PE-RN), 5 (BA-SE), 6 (MG), 7 (ES-RJ), 8 (SP), 9 (PR-SC) e 0 (RS). Mas, inexplicavelmente, já vi CPF válido, emitido no DF (Região 1) com o nono dígito = 5 (Região BA-SE).
RODRIGOMARCHESE 23/03/2005 15:29:44
#74523
seguinte:

se você mover todos os dígitos uma casa a direita e o que estava por último passar a ser o primeiro da esquerda os códigos que estão por aí vão deixar o cpf digitádo passar como válido.

não sei se é o código de verificação que está sendo utilizado que está furado, ou a formula de cálculo que os grandes matemáticos inventaram para o cpf é que está furada.
USUARIO.EXCLUIDOS 23/03/2005 15:58:20
#74527
Citação:

Mas, inexplicavelmente, já vi CPF válido, emitido no DF (Região 1) com o nono dígito = 5 (Região BA-SE).


Meu nono DIGITO é 4.................
Acho que está regra não é correta...
detalhe.. sou do DISTRITO FEDERAL
SERGIOPASCOAL 23/03/2005 16:51:41
#74544
Obrigado, pelas explicações galera
Vou dar mais umas estudas em DF.
Tópico encerrado , respostas não são mais permitidas