.Cartão de Crédito

 

Aqui você vai aprender a gerar números de Cartão de Crédito, veja que maravilha:

 

Faça seu Próprio Cartão de Crédito

 

Parte 1

Este texto é dirigido mais a programadores que algum dia sonharam em desenvolver um programa do tipo do Cmaster ou Credit Wizard. Muitos textos tentam explicar o algoritmo usado para a elaboração de números de cc's mas nenhum e' realmente completo ou explica como extrapolar vários números a partir de um número base. Chega de falar merda e vamos ao que interessa.

Para compreender melhor esse esquema vamos usar um número correto (claro, fictício) de um cartão de crédito qualquer: 4128 7541 3218 0366. Usaremos esse número durante toda a primeira parte do texto. Os quatro primeiros dígitos de um cartão de crédito indicam o banco a que pertence o cartão. No nosso número exemplo os quatro primeiros números são "4128". Estes dígitos indicam um cartão do banco CITIBANK. Óbvio que um banco não vai possuir só um grupo de quatro dígitos e sim vários(tipo... o Citibank tem o 4128, 4013, 4271, 4556...). Ok, o primeiro número do cartão de crédito indica o seu tipo. Os principais são:

3 = American Express

4 = Visa

5 = MasterCard

6 = Discover

No nosso caso o cartão é um belo VISA (número 4). Agora repare em todos os dígitos que ocupam posição impar no cartão: 4128 7541 3218 0366 posição: 1 3 5 7 9 11 13 15

Cada número que ocupa posição impar no número do cartão deve ser multiplicado por dois. Se o resultado dessa multiplicação for menor que nove deixe como esta e passe para o número seguinte. Se o resultado for maior que nove, subtrai-se nove do resultado obtido. Nos números de posição par não e' necessário qualquer esquema.

No nosso exemplo:

4 * 2 = 8 ; oito < nove

1 = 1 ; posição par

2 * 2 = 4 ; quatro < nove

8 = 8 ; posição par

7 * 2 = 14 ; 14 > 9, portanto, 14 - 9 = 5

5 = 5 ;posição par

4 * 2 = 8 ;oito < nove

1 = 1 ; posição par

3 * 2 = 6 ; seis < nove

2 = 2 ; posição par

1 * 2 = 2 ; dois < nove

8 = 8 ; posição par

0 * 2 = 0 ; zero < nove

3 = 3 ; posição par

6 * 2 = 12 ; 12 > 9, portanto, 12 - 9 = 3

6 = 6 ; posição par

Ok! O resultado que obtemos após fazer esse esquema foi:

8148 5581 6228 0336

Agora faca a soma de todos os números obtidos:

8+1+4+8 + 5+5+8+1 + 6+2+2+8 + 0+3+3+6 = 70

Paulada! Se o resultado da soma for múltiplo de 10 e também for menor que 150, pode ficar tranqüilo, o número é totalmente válido. Repare no nosso número exemplo: 70 é múltiplo de 10 e é menor que 150 (ohhh!)

Conclui-se que o número do cartão de crédito que usamos como exemplo é um número VISA válido pertencente ao Citibank (código 4128). Beleza! Mas com este esquema é possível apenas verificar se um cartão é realmente válido, o que não é uma grande ajuda.

 

Parte 2

Porém, vamos agora gerar um número tendo por base apenas o código do banco.

Vamos gerar, por exemplo, um cartão VISA do Citibank:

4271 ???? ???? ????

Escolhemos mais 11 números (tem que ser 11 e não 12), aleatórios entre 0 e 9:

4271 0614 8230 113?

O passo seguinte é tornar este número um número de cartão de crédito válido. Como? Usando aquele simples processo de verificação que explicamos acima.

Novo número: 8251 0624 7260 216? Fazendo a soma obtemos:

8+2+5+1 + 0+6+2+4 + 7+2+6+0 + 2+1+6+? = 52

Porra, 52 é menor que 150 mas não é múltiplo de 10, então, o número deste cartão não é valido, correto? Nahh, ainda podemos validar este número. Como? Se ainda temos um digito para colocar no número certamente colocaremos um número que torne o cartão valido. No caso o número é 8. O número do cartão válido ficaria:

4271 0614 8230 1138

OK! Temos um número de cartão valido gerado com números aleatórios, mas corretamente validado. Agora vamos extrapolar, ou seja, obter outros números a partir de um número base. O nosso número é 4271 0614 8230 1138. Primeiramente escolhemos os números que queremos manter:

4271 0614 8230 1138==> Concluímos que você é esperto o bastante para deixar pelo menos o código do banco.

Números mantidos: 4271 0614 ???? ????

Bem, agora o processo é escolher outros números aleatórios entre 0 e 9 para formar o número, lembrando que o último dígito deve ser deixado em branco para validarmos o número após terminado o esquema.

Agora que sabe como funciona os programas que geram número de cartão valido, faça donwload do programa Cmaster4, clique aqui.

 

 

 


  Anhembi Morumbi    Calculadora HP48G    Contato    Delphi    Engenharia   Home    Links    Verifique suas Multas