Olá pessoal,
Uma coisa muito ultilizada para a maiorias dos desenvolvedores Web é o CPF, porque sempre tem algum sistema de cadastro pra testar ou pra criar.
Como muitas vezes precisamos de vários CPFs para testar nossos programas, eu descidi postar a lógica de como um CPF funciona, e talvez assim você possa criar seu próprio gerador de CPF para testar seus produtos.
O CPF é composto de 11 algorítmos, onde os 9 primeiros são os algorítmos randômicos, e os 2 ultimos são os algorítmos de verificação.
ex.
351.253.324-XX (XX > Algorítmo de verificação)
Bom agora vamos por a mão na massa! ;D
Para calcular o primeiro algorítmo de verificação.1º Distribua os 9 primeiros dígitos em um quadro colocando os pesos 10, 9, 8, 7, 6, 5, 4, 3, 2 abaixo da esquerda para a direita, conforme representação abaixo:
2º Multiplique os valores de   cada coluna:
3 | 
5 | 
1 | 
2 | 
5 | 
3 | 
3 | 
2 | 
4 | 
10 | 
9 | 
8 | 
7 | 
6 | 
5 | 
4 | 
3 | 
2 | 
30 | 
45 | 
8 | 
14 | 
30 | 
15 | 
12 | 
6 | 
8 | 
Calcule o somatório dos   resultados (30+45+...+6+8) = 168
4º O resultado obtido (168) será divido por 11.   Considere como quociente apenas o valor inteiro (15), o resto da divisão (3) será   responsável pelo cálculo do primeiro dígito verificador (X).
Ex: 168 dividido por 11   obtemos 15 como quociente e 3 como resto da divisão.
Caso o resto da divisão seja   menor que 2, o nosso primeiro dígito verificador se torna 0 (zero), caso   contrário vamos subtrair o valor obtido da divisão.
Ex: 11-3 = 8 (oito). Já temos portanto o primeiro algorítmo de verificação do nosso CPF, confira:
351.253.324-
8X.
Para calcular o segundo algorítmo de verificação.
1º Para o cálculo do segundo dígito será usado o primeiro dígito verificador já calculado. Montaremos uma tabela semelhante a anterior só que desta vez usaremos na segunda linha os valores 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 já que estamos incorporando mais um algarismo para esse cálculo.
Veja:
2º Na próxima etapa faremos como na situação   do cálculo do primeiro dígito verificador, multiplicaremos os valores de cada coluna e efetuaremos o somatório dos   resultados obtidos: (33+50+...+12+16) = 212.
3 | 
5 | 
1 | 
2 | 
5 | 
3 | 
3 | 
2 | 
4 | 
8 | 
11 | 
10 | 
9 | 
8 | 
7 | 
6 | 
5 | 
4 | 
3 | 
2 | 
33 | 
50 | 
9 | 
16 | 
35 | 
18 | 
15 | 
8 | 
12 | 
16 | 
 Realizamos novamente o cálculo do módulo 11. Dividimos o total do somatório por   11 e consideramos o resto da   divisão.
Vamos acompanhar: 212 dividido por 11   obtemos 19 como quociente e 3 como resto da divisão.
4º Caso o valor do resto da divisão seja   menor que 2, esse valor passa automaticamente a ser 0 (zero), caso   contrário vamos subtrair o valor obtido da divisão.
Ex: 11-3 = 8 (oito). Já temos portanto o segundo algorítmo de verificação do nosso CPF, confira:
351.253.324-
88.
Neste caso chegamos ao final dos cálculos   e descobrimos que os dígitos verificadores do nosso CPF são os   números 
8 e 
8, portanto o CPF ficaria assim: 351.253.324-88.
Básicamente esse gerador de CPF ele randômiza os 9 primeiros algorítimos e depois calcula a validação deles com a regrinha.
Até mais pessoal!
;D