I thought no one had answered this yet lol! But hey, here's my own go at it: import random def random_alphanumeric(limit): #ascii alphabet of all alphanumerals r = (range(48,58) + range(65,91) + range(97,123)) random.shuffle(r) return reduce(lambda i,s: i + chr(s),r[:random.randint(0,len(r))],"")