]> andersk Git - sql-web.git/blob - bin/nicepass.py
use nicepass for batch signup passwords
[sql-web.git] / bin / nicepass.py
1 #!/usr/bin/python
2
3 def nicepass(alpha=6,numeric=2):
4     """
5     returns a human-readble password (say rol86din instead of
6     a difficult to remember K8Yn9muL )
7     """
8     import string
9     import random
10     vowels = ['a','e','i','o','u']
11     consonants = [a for a in string.ascii_lowercase if a not in vowels]
12     digits = string.digits
13
14     def a_part(slen):
15         ret = ''
16         for i in range(slen):
17             if i%2 ==0:
18                 randid = random.randint(0,20) #number of consonants
19                 ret += consonants[randid]
20             else:
21                 randid = random.randint(0,4) #number of vowels
22                 ret += vowels[randid]
23         return ret
24
25     def n_part(slen):
26         ret = ''
27         for i in range(slen):
28             randid = random.randint(0,9) #number of digits
29             ret += digits[randid]
30         return ret
31
32     fpl = alpha/2
33     if alpha % 2 :
34         fpl = int(alpha/2) + 1
35     lpl = alpha - fpl
36
37     start = a_part(fpl)
38     mid = n_part(numeric)
39     end = a_part(lpl)
40
41     return "%s%s%s" % (start,mid,end)
42
43 if __name__ == "__main__":
44     print nicepass()
This page took 0.058496 seconds and 5 git commands to generate.