Gerador de CPF válido em Perl
Publicado por Perfil removido (última atualização em 21/04/2014)
[ Hits: 6.797 ]
Fiz este script para estudar melhor o algoritmo de validação de CPF, espero que seja útil para alguém.
#!/usr/bin/perl use strict; use warnings; ################################### ################################### ### Algoritimo de CPF válido ### ### by KoubackTr / 2014 ### ### ### ## http://koubacktr.wordpress.com # ## http://twitter.com/kouback_tr_ # ### ### ################################### ################################### my $numeros = 9; my $digito1=int(rand($numeros)); my $digito2=int(rand($numeros)); my $digito3=int(rand($numeros)); my $digito4=int(rand($numeros)); my $digito5=int(rand($numeros)); my $digito6=int(rand($numeros)); my $digito7=int(rand($numeros)); my $digito8=int(rand($numeros)); my $digito9=int(rand($numeros)); #my $aleatorio = $digito1$digito2$digito3$digito4$digito5$digito6$digito7$digito8$digito9; my $totalA1 = $digito1 * 10; my $totalA2 = $digito2 * 9; my $totalA3 = $digito3 * 8; my $totalA4 = $digito4 * 7; my $totalA5 = $digito5 * 6; my $totalA6 = $digito6 * 5; my $totalA7 = $digito7 * 4; my $totalA8 = $digito8 * 3; my $totalA9 = $digito9 * 2; my $cpf1 = $totalA1 + $totalA2 + $totalA3 + $totalA4 + $totalA5 + $totalA6 + $totalA7 + $totalA8 + $totalA9; my $dividido1 = int($cpf1 % 11); my @valor1 = split(//,$dividido1); my $condicao1 = $valor1[0]; # DEBUG if($condicao1==0 or $condicao1==1){ my $digito10=0; my $totalB1 = $digito1 * 11; my $totalB2 = $digito2 * 10; my $totalB3 = $digito3 * 9; my $totalB4 = $digito4 * 8; my $totalB5 = $digito5 * 7; my $totalB6 = $digito6 * 6; my $totalB7 = $digito7 * 5; my $totalB8 = $digito8 * 4; my $totalB9 = $digito9 * 3; my $totalB10 = $digito10 * 2; my $cpf2 = $totalB1 + $totalB2 + $totalB3 + $totalB4 + $totalB5 + $totalB6 + $totalB7 + $totalB8 + $totalB9 + $totalB10; my $dividido2 = int($cpf2 % 11); my @valor2 = split(//,$dividido2); my $condicao2 = $valor2[0]; # DEBUG # um IF dentro do IF # if($condicao2==0 or $condicao2==1){ my $digito11=0; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3.$digito4$digito5$digito6.$digito7$digito8$digito9-$digito10$digito11\n\n"; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3$digito4$digito5$digito6$digito7$digito8$digito9$digito10$digito11\n\n"; }else{ my $digito11=11-$condicao2; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3.$digito4$digito5$digito6.$digito7$digito8$digito9-$digito10$digito11\n\n"; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3$digito4$digito5$digito6$digito7$digito8$digito9$digito10$digito11\n\n"; } }else{ my $digito10=11-$condicao1; my $totalB1 = $digito1 * 11; my $totalB2 = $digito2 * 10; my $totalB3 = $digito3 * 9; my $totalB4 = $digito4 * 8; my $totalB5 = $digito5 * 7; my $totalB6 = $digito6 * 6; my $totalB7 = $digito7 * 5; my $totalB8 = $digito8 * 4; my $totalB9 = $digito9 * 3; my $totalB10 = $digito10 * 2; my $cpf2 = $totalB1 + $totalB2 + $totalB3 + $totalB4 + $totalB5 + $totalB6 + $totalB7 + $totalB8 + $totalB9 + $totalB10; my $dividido2 = int($cpf2 % 11); my @valor2 = split(//,$dividido2); my $condicao2 = $valor2[0]; # DEBUG # outro IF dentro do ELSE do IF que tem outro IF # buguei... if($condicao2==0 or $condicao2==1){ my $digito11=0; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3.$digito4$digito5$digito6.$digito7$digito8$digito9-$digito10$digito11\n\n"; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3$digito4$digito5$digito6$digito7$digito8$digito9$digito10$digito11\n\n"; }else{ my $digito11=11-$condicao2; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3.$digito4$digito5$digito6.$digito7$digito8$digito9-$digito10$digito11\n\n"; print "\n\t\t[+] CPF Válido: $digito1$digito2$digito3$digito4$digito5$digito6$digito7$digito8$digito9$digito10$digito11\n\n"; } }
Validador de cartão de débido e crédito em Perl
Streaming Kiss FM (SP 102,1) Player em perl com interface grafica (Tk)
Orientação a Objetos - Criando e usando uma classe em Perl
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Acabei zuando meu Linux inteiro e estou desesperado (2)
Acabei zuando meu Linux inteiro e estou desesperado (1)
Microfone que é reconhecido mas não capta aúdio (1)
Erro no cups.file [RESOLVIDO] (10)
Pq me aparece isso quando fui atualizar o Ubuntu 24.10 no terminal? (3)