![]() |
Python
1.0
|
CPF validation. More...
Functions | |
def | areValidDigits (cpf, dv) |
Validates a CPF using the verification digits (DV). More... | |
def | main (argv=None) |
CPF validation.
Some valid cpfs:
Para exemplificar o processo de validação, serão calculados os dígitos verificadores de um CPF hipotético, 111.444.777-XX.
Calculando o Primeiro Dígito Verificador.
O primeiro dígito verificador do CPF é calculado utilizando-se o seguinte algoritmo:
1 1 1 4 4 4 7 7 7 10 9 8 7 6 5 4 3 2
1 1 1 4 4 4 7 7 7 10 9 8 7 6 5 4 3 2 10 9 8 28 24 20 28 21 14
Se o resto da divisão for menor do que 2, o primeiro dígito verificador se torna zero.
Caso contrário, subtraia o valor obtido de 11, para obter o primeiro dígito verificador: 11-8 = 3.
Portanto, o CPF até agora está assim: 111.444.777-3X.
Calculando o Segundo Dígito Verificador
Para o cálculo do segundo dígito, será usado o primeiro dígito verificador já encontrado:
1 1 1 4 4 4 7 7 7 3 11 10 9 8 7 6 5 4 3 2
1 1 1 4 4 4 7 7 7 3 11 10 9 8 7 6 5 4 3 2 11 10 9 32 28 24 35 28 21 6
Ao final dos cálculos, descobre-se que os dígitos verificadores do CPF hipotético são os números 3 e 5.
Portanto, o CPF completo é: 111.444.777-35.
def _05b_cpf.areValidDigits | ( | cpf, | |
dv | |||
) |
Validates a CPF using the verification digits (DV).
cpf | CPF. |
dv | verification digits. |
References _03e_multiply.dotProd(), and _01f_getDigit.getDigit().
Referenced by main().
def _05b_cpf.main | ( | argv = None | ) |
References areValidDigits(), and _01d_dec2bin.input.