]> andersk Git - sql-web.git/blame - bin/nicepass.py
Fix CSRF vulnerabilities
[sql-web.git] / bin / nicepass.py
CommitLineData
1eacad68
JP
1#!/usr/bin/python
2
3def 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
43if __name__ == "__main__":
44 print nicepass()
This page took 0.227804 seconds and 5 git commands to generate.