aclarasion antes de leer el post
este post lo hise para k comprueven si los numeos de targeta son correctos o falsos tambien pueden aprender como generarlos pero hay algo k se llama codigo de seguridad sin ese codigo de seguridad no se puede hacer compras u apuestas...[ya se k es malo]

--------------------------------------------------------------------------------------------
Escribiendo antes de ayer la anterior anotación me acordé de que hace unos años, en mi época de rebelde sin causa, aprendí una vez cómo comprobar si una determinada tarjeta de crédito era verdadera o, por el contrario, el número de 16 cifras que tenía ante mis ojos era simplemente eso, una combinación más.

La manera de comprobar algo así es bastante curiosa, al igual que en el caso de la letra del NIF :-). Es una chorrada más pero que, vamos, personalmente me parece algo curioso (Ojo: ahora y antes. Siempre me he quedado en ese paso: la curiosidad. No vayáis a pensar que iba utilizando números de tarjetas de crédito sacados de la manga para irme a elcorteingles.es y desvalijar la tienda virtual. A parte de que no me llamaba la atención cometer delitos, tampoco es posible utilizar estos números de tarjetas: serán verídicos pero no tienen validez. Vamos, si tuvieran validez lo de comprar en Internet sería el mayor pitorreo jamás visto ¿no os parece? :-))

Este algoritmo tampoco es ningún secreto y además es también bastante sencillito. En fin, me dejo de cháchara y nos ponemos ya al lío

Una tarjeta de crédito está formada por una combinación de 16 dígitos (creo que los hay de 13 y quizás de otros tamaños. Comentaremos el algoritmo para las tarjetas de 16 dígitos que son las corrientes aquí en España. No sé si todo esto vale para otro tipo de tarjetas) de la forma < AAAA BBBB CCCC DDDD >. Los cuatro primeros dígitos nos informan de a qué banco pertenece la tarjeta (esto nunca supe como hacerlo :-) y buscando por Google no he logrado encontrar información al respecto. Si alguien sabe ¡que utilice por favor los comentarios! ) El primer dígito de todos (el cual he subrayado para destacarlo) nos dice qué tipo de tarjeta se trata:

* Si la primera cifra es un 3 la targeta es American Express
* Si la primera cifra es un 4 la targeta es VISA
* Si la primera cifra es un 5 la targeta es MasterCard
* Si la primera cifra es un 6 la targeta es Discover

Bueno, pues ya tenemos algo :-) Ahora entraremos en el algoritmo en sí. Tenemos nuestro número de 16 dígitos; lo que tenemos que hacer es fijarnos en las cifras impares:

A A A A B B B B C C C C D D D D


Con estos números realizamos los siguientes pasos:

* Cada cifra impar la multiplicamos por 2
* Si el resultado de la anterior operación es menor que nueve, entonces nos quedamos con ese resultado
* En caso contrario, le restamos 9 a dicho resultado

Pues ya casi está. Ahora lo que hacemos es reagrupar cifras:
* Volvemos a fijarnos en nuestra tarjeta y reemplazamos sus cifras en posiciones impares por los números obtenidos en los pasos anteriores.
* Sumamos término a término.

Ai + A + Ai + A + Bi + B + Bi + B + Ci + C + Ci + C + Di + D + Di + D



* Si el resultado obtenido de sumar todos los términos es múltiplo de 10 y, también, es menor o igual a 150, entonces nuestra tarjeta de crédito es correcta :-)

Y ya está jeje. No tiene mucho como veis jeje, solo espero no haber complicado las cosas con mi explicación. Podemos verlo de manera rápida con un ejemplo. Tenemos la siguiente tarjeta: 5411 0688 4519 9818 y hay que validarla:

1. Nos fijamos en los primeros cuatro dígitos: 5411 que nos dice que pertenece al Banco de Alicante (Si alguien sabe por qué, somos todo oídos/ojos ). Y como el primer dígito es un 5, eso quiere decir que se trata de una MasterCard
2. Nos fijamos en sus cifras impares: 5, 1, 0, 8, 4, 1, 9 y 1
3. Las multiplicamos por dos:
- 5 * 2 = 10 (¿mayor que 9? -> Si. Resto 9 -> 10 - 9 = 1)
- 1 * 2 = 2 (¿mayor que 9? -> No. Lo dejo tal cual)
- 0 * 2 = 0
- 8 * 2 = 16 (16>9 , así que 16 - 9 = 7)
- 4 * 2 = 8
- 1 * 2 = 2
- 9 * 2 = 18 (18>9 , así que 18 - 9 = 9)
- 1 * 2 = 2
4. Reagrupamos los números utilizando los que se encuentran en posiciones pares de la tarjeta con estos nuevos (que reemplazan a los anteriores existentes en las posiciones impares). También sumamos término a término:

1 + 4 + 2 + 1 + 0 + 6 + 7 + 8 + 8 + 5 + 2 + 9 + 9 + 8 + 2 + 8

5. La suma da 80. ¿(Es múltiplo de 10) Y (Menor o Igual que 150)? Si
6. Conclusión: 5411 0688 4519 9818 es verdadera.
-------------------------------------------------------------------------------------------
solo proporsione esta informasion....
fuente : http://enrique.barbeito.org/blog/algoritmo-para-validar-tarjetas-de-crdito/