
Vamos ver então qual é esta relação:
Consideremos o CPF com os seguintes dígitos:
a1 a2 a3 . a4 a5 a6 . a7 a8 a9 - b1 b2
Para descobrirmos o dígito b1, procedemos da seguinte maneira:
multiplicamos o primeiro por 1, o segundo por 2, o terceiro por 3, o quarto por 4 e vamos assim até multiplicarmos o nono por 9. Então, somamos tudo isto. Após termos somado tudo, dividimos por 11. O dígito b1 será o resto da divisão.
A nível de ensino fundamental e médio, a conta é a seguinte:
b1 é o resto de:
Com notação de faculdade, poderia ser assim:
Já para o segundo dígito verificador, temos o seguinte:
multiplicamos o primeiro por 9, o segundo por 8, o terceiro por 7, o
quarto por 6 e vamos assim até multiplicarmos o nono por 1. Então,
somamos tudo isto e dividimos por 11. O dígito
b2 será o resto da divisão.
Fundamental ou médio:
b2 é o resto de:
Superior:
A calculadora no começo da postagem confere automaticamente um CPF: insira os 9 primeiros dígitos para ver qual seria os dois últimos.
Se alguém te informar um CPF e você jogar ele nesta página e os dois últimos dígitos derem errado, provavelmente esta pessoa inventou este CPF ou errou algum dígito. Se der certo não quer dizer nada - pode ser que ela conheça esta regra também. Alternativamente, pode-se utilizar esta página para criar um CPF que passe neste teste também.
Este comentário foi removido pelo autor.
ResponderExcluirGOSTEI, BOM TRABALHO, O BRASIL PRECISA DE PESSOAS ASSIM COMO VC
ResponderExcluirESTAVA COM UM CPF E A PESSOA ESQUECEU DE PASSAR OS ULTIMOS NUMEROS PARA MIM, VIM AQUI E RESOLVI O PROBLEMA. OBRIGADO
O meu não deu certo. Pois o final é 00 e apareceu 01
ResponderExcluirMontei aqui no excel,mas não deu certo, tem como disponibilizar aqui uma planilha? ou enviar por e-mail eduardo.auditoria arroba outlook.com.br
ResponderExcluirGrato,
eduardo
top demais
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluir6 6 5 6 2 6 1 9 2
ResponderExcluir//Multiplicador --> x10 x9 x8 x7 x6 x5 x4 x3 x2
// Total --> 60 + 54 + 40 + 42 + 12 + 30 + 4 + 27 + 4 = 273
for ( $i = 0; $i < strlen( $digitos ); $i++ ) {
$soma_digitos = $soma_digitos + ( $digitos[$i] * $posicoes );
$posicoes--;
}
// Captura o resto da divisão entre $soma_digitos dividido por 11
// Ex.: 273 % 11 = 9
$soma_digitos = $soma_digitos % 11;
// Verifica se $soma_digitos é menor que 2
if ( $soma_digitos < 2 ) {
// $soma_digitos agora será zero
$soma_digitos = 0;
} else {
// Se for maior que 2, o resultado é 11 menos $soma_digitos
// Ex.: 11 - 9 = 2
// Nosso dígito procurado é 2
$soma_digitos = 11 - $soma_digitos;
}
//Já temos o valor de b1
$b1 = $soma_digitos;
//Zerando
$soma_digitos = 0;
//##########Calcula b2
// 6 6 5 6 2 6 1 9 2
// x11 x10 x9 x8 x7 x6 x5 x4 x3
// 66 + 60 + 45 + 48 + 14 + 36 + 5 + 36 + 6 = 316
for ( $i = 0; $i < strlen($digitos); $i++) {
$soma_digitos = $soma_digitos + ( $digitos[$i] * $posicoes );
$posicoes--;
}
// Captura o resto da divisão entre $soma_digitos dividido por 11
// Ex.: 316 % 11 = 8
$soma_digitos = $soma_digitos % 11;
// Verifica se $soma_digitos é menor que 2
if ( $soma_digitos < 2 ) {
// $soma_digitos agora será zero
$soma_digitos = 0;
} else {
// Se for maior que 2, o resultado é 11 menos $soma_digitos
// Ex.: 11 - 9 = 2
// Nosso dígito procurado é 2
$soma_digitos = 11 - $soma_digitos;
}
// Temos b2
$b2 = $soma_digitos;
// Retorna
return "CPF: " . $digitos . "-".$b1 . $b2;
}
//Digite seu cpf com 9 dígitos
$digitos = "123456789";
echo calculaDV( $digitos );
?>
Fonte: https://www.somatematica.com.br/faq/cpf.php