Tuesday, June 26, 2012

Re: Generating random alphanumeric codes


On 26 Jun 2012, at 15:53, Sithembewena Lloyd Dube wrote:
Would anyone have tips on how to generate random 4-digit alphanumeric codes in python? Also, how does one calculate the number of possible combinations?

For upper case, lower case and digits we have,

26 + 26 + 10 = 62 
...possibilities for each position.  If you have four positions you have,

62 * 62 * 62 * 62 = 14776336
... possible combinations.

You can create a random number in this range by,

import Random from random
def build_population(spans):
for span in spans:
for x in range(ord(span[0]), ord(span[1]) + 1):
yield chr(x)

population = list(build_population( (('A','Z'), ('a', 'z'), ('0', '9')) ))
r = Random()
r.sample(population, 4)
['C', 'l', 'q', 'y']
You may need to look into getting some entropy into the random number generator...

Cheers

aid

No comments:

Post a Comment