views:

314

answers:

5

For an application we are working on I need to generate sample credit card numbers which pass the Luhn algorithm but which are also unique, so we cannot use the sample credit card numbers.

We need to be able to generate around 300 card numbers at a time, and ideally i would be able to do this when generating my input data.

Many Thanks

+8  A: 

Create random numbers, then calculate the checksum number.

You can find more information at Wikipedia - Luhn, both details about the algorithm and links to different implementations.

Simon Svensson
There is actually an algorithm on the wikipedia page to generate the numbers as well.
PeteT
+3  A: 

From what I see you just need to ensure that when running through the algorithm you get a result of 0 (mod 10). So you can pick any number of random digits (or sequential if you like) and just add one last digit which will ensure that the number is valid.

Joey
+1  A: 

If you need a list to test each card, you'll find one here. http://stackoverflow.com/questions/66880/how-to-test-credit-card-interactions/66988#66988

Mike
+2  A: 

Do you need the credit card #'s to pass any other tests? i.e. should they look like valid VISA, MasterCard, or AMEX, etc.

If so, you may want a resource like Graham King's otherwise some of the other suggestions here are good.

John Weldon
That site's commentary is hilarious, btw. +1
GWLlosa
A: 

I took the code from Graham Kings site and ported it to c#, also emailing Graham a copy, you can find it here link text

Kev Hunter