Validador de cartão de débido e crédito em Perl
Publicado por Perfil removido (última atualização em 21/04/2014)
[ Hits: 47.021 ]
Antes de tudo, o objetivo daqui é sempre o conhecimento, não criei o código com intuito de ser usado para "banker" (apesar de isso acontecer), mas sim para entender como podemos validar cartões de crédito em aplicações diversas, como por exemplo sites de compras online ou software de vendas, PDVs etc...
#!/usr/bin/perl ############################################# ## ## ## http://koubacktr.wordpress.com ## ## http://twitter.com/kouback_tr_ ## ## ## ############################################# ## Validador de cartão de créditoe débito ## ## Verify card ## ## By KoubackTr 2014 ## ############################################# print <<a; =========================================================== Valid Card // Validador de cartões de crédito e débito // =========================================================== a $card=$ARGV[0] || die "Use: validcard.pl <card number> \n"; my $cartao = length($card); if($cartao==16){ # exigi 16 digitos no numro do cartão # DIVIDINDO STRINGS E PEGANDO VALORES PARA ENGENHARIA $numerocartao = "$card"; my @validade = split(//,$numerocartao); $v1=$validade[0]*2," "; $s1=$validade[1]; $v2=$validade[2]*2," "; $s2=$validade[3]; $v3=$validade[4]*2," "; $s3=$validade[5]; $v4=$validade[6]*2," "; $s4=$validade[7]; $v5=$validade[8]*2," "; $s5=$validade[9]; $v6=$validade[10]*2," "; $s6=$validade[11]; $v7=$validade[12]*2," "; $s7=$validade[13]; $v8=$validade[14]*2," "; $s8=$validade[15]; $v9=$validade[16]*2,""; my $n1="$v1$v2$v3$v4$v5$v6$v7$v8$v9"; my @validade2 = split(//,$n1); $vv0=$validade2[0]; $vv1=$validade2[1]; $vv2=$validade2[2]; $vv3=$validade2[3]; $vv4=$validade2[4]; $vv5=$validade2[5]; $vv6=$validade2[6]; $vv7=$validade2[7]; $vv8=$validade2[8]; $vv9=$validade2[9]; $vv10=$validade2[10]; $vv11=$validade2[11]; $vv12=$validade2[12]; $vv13=$validade2[13]; $vv14=$validade2[14]; $vv15=$validade2[15]; $vv16=$validade2[16]; $vv17=$validade2[17]; $vv18=$validade2[18]; $vv19=$validade2[19]; ############### // Somando tudo // ############## my $d0 = $vv0 + $vv1 + $s1 + $vv2 + $s2 +$vv3 + $s3 + $vv4 + $s4 + $vv5 + $s5 + $vv6 + $s6 + $vv7 + $s7 + $vv8 + $s8 + $vv9 + $vv10 + $vv11 + $vv12 + $vv13 + $vv14 + $vv15 + $vv16 + $vv17 + $vv18 + $vv19; ##### CONDIÇÃO: se ultimo numero do resultado da soma é = 0 isso significa que é divisivel por 10 ##### se é divisiovel por 10, é válido, se não, é inválido my $val=$d0 / 10; my @validade3 = split(//,$d0); $val0=$validade3[0]; $val1=$validade3[1]; }else{ die "\n\t\t\t[!] Numero inválido, deve conter 16 digitos.\n\n"; } if($val1==0){ print "\n\t\t\t[+] Cartão Válido\n\n"; #Retorno válido }else{ print "\n\t\t\t[!] Cartão Inválido\n\n"; #Retorno inválido }
GenHASH - Gerador de hashes SHA1, MD5 e Base64 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.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Criando um Pen Drive Bootável no Linux
Instalando Discord no Fedora 40
Instalando Discord no Ubuntu 24.04 LTS
Como instalar o XFCE4-terminal na sua distribuição Linux e integrá-lo ao sistema
Como instalar o Tilix Terminal no Gnome e usá-lo como menu drop-down ao estilo Quake
problemas com artefatos na instalação (20)
Google chrome e opera fechando (1)
Alguém do ramo de educação por aqui? (7)
Como instalar/atua... o Ubuntu sem formatar o HD? [RESOLVIDO] (3)