Ps.: ps desculpa desenterrar esse post antigo, mais é apenas para dar uma informação + precisa.
Apenas respondendo, dos CPFs com números iguais apenas o 000.000.000-00 passa pela validação do digito verificador, porém a propria receita federal informa que este CPF não é valido
Segue documentação: http://www.receita.fazenda.gov.br/publico/Legislacao/atos/AtosConjuntos/AnexoIADEConjuntoCoratCotec0012002.doc
todos os CPF iguais são invalidos, e nem passam pela validação dos digitos verificadores, isso é tanto verdade que os CPF 111.111.111-11 e 888.888.888-88 estão em situação cadastral CANCELADA…
caso alguem precise validar um CPF basta calcular o digito verificador correto, e fazer a conta abaixo, e ver c ele bate com os digitos do CPF informado.
cpfInformado.subString(8,11).equals(digitValidator(cpfInformado)) //com esse teste vc pode validar o CPF, seque apenas um trecho da minha classe
/* Regra para validação de cpf:
*
* Os digitos verificadores são formados por 2 digitos XY, calculados da seguinte
* forma
*
* 1° digito verificador (X): somar o valor da multiplicação dos 9 primeiros digitos
* do cpf por 10,9,8,7,6,5,4,3,2 (cpf[0]*10 + cpf[1]*9 + ... + cpf[8]*2). Depois
* pegar o resto da divisão desta soma por 11. Verificar se o resto da divisão é
* menor ou igual a 1, e neste caso o digito verificador será 0, caso contrario o
* digito verificador será 11 subtraido do resto da divisão da soma por 11
* (11 - soma%11).
*
* 1° digito verificador (Y): somar o valor da multiplicação dos 9 primeiros digitos
* do cpf por 10,9,8,7,6,5,4,3,2 (cpf[0]*10 + cpf[1]*9 + ... + cpf[8]*2). Depois
* pegar o resto da divisão desta soma por 11. Verificar se o resto da divisão é
* menor ou igual a 1, e neste caso o digito verificador será 0, caso contrario o
* digito verificador será 11 subtraido do resto da divisão da soma por 11
* (11 - soma%11).
*/
public static String digitValidator(String cpf) {
char[] cpfChars = cpf.toCharArray();
int firstDigitSum = 0;
int secondDigitSum = 0;
for (int i = 0; i<9; i++) {
firstDigitSum += (10-i) * Character.getNumericValue(cpfChars[i]);
secondDigitSum += (11-i) * Character.getNumericValue(cpfChars[i]);
}
//firstDigitSum%11 é o mesmo que "Resto da divisão de firstDigitSum por 11"
int digit1 = ((firstDigitSum % 11) > 1) ? 11 - (firstDigitSum % 11) : 0;
int digit2 = ((secondDigitSum % 11) > 1) ? 11- (secondDigitSum % 11) : 0;
return "" + digit1 + digit2;
}