comparison cutils/genpwd.py @ 239:1eae57292c7c

genpwd: rename "gen_web()" to "gen_from_repertoire()"
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 08 Feb 2025 09:20:25 +0100
parents ff13b2a863ba
children 32616df2732e
comparison
equal deleted inserted replaced
238:ff13b2a863ba 239:1eae57292c7c
58 help="The required length of the generated output") 58 help="The required length of the generated output")
59 59
60 opts = aparser.parse_args(args=argv) 60 opts = aparser.parse_args(args=argv)
61 61
62 if opts.repertoire == "web": 62 if opts.repertoire == "web":
63 pwd = gen_web(opts.req_length, WEB_CHARS) 63 pwd = gen_from_repertoire(opts.req_length, WEB_CHARS)
64 elif opts.repertoire == "web-safe": 64 elif opts.repertoire == "web-safe":
65 pwd = gen_web(opts.req_length, WEB_SAFE_CHARS) 65 pwd = gen_from_repertoire(opts.req_length, WEB_SAFE_CHARS)
66 elif opts.repertoire == "web-safe2": 66 elif opts.repertoire == "web-safe2":
67 pwd = gen_web(opts.req_length, WEB_SAFE2_CHARS) 67 pwd = gen_from_repertoire(opts.req_length, WEB_SAFE2_CHARS)
68 elif opts.repertoire == "base64": 68 elif opts.repertoire == "base64":
69 encoder = base64.b64encode 69 encoder = base64.b64encode
70 pwd = gen_bin(opts.req_length, opts.use_bin_length, encoder, 70 pwd = gen_bin(opts.req_length, opts.use_bin_length, encoder,
71 rstrip_chars=b"=") 71 rstrip_chars=b"=")
72 elif opts.repertoire in ("urlsafe-base64", "urlsafe"): 72 elif opts.repertoire in ("urlsafe-base64", "urlsafe"):
92 if not PY2: 92 if not PY2:
93 pwd = pwd.decode("ascii") 93 pwd = pwd.decode("ascii")
94 print(pwd) 94 print(pwd)
95 95
96 96
97 def gen_web(length, repertoire): 97 def gen_from_repertoire(length, repertoire):
98 assert len(repertoire) <= 256 98 assert len(repertoire) <= 256
99 pwd = [] 99 pwd = []
100 while len(pwd) < length: 100 while len(pwd) < length:
101 rndbytes = os.urandom(16) 101 rndbytes = os.urandom(16)
102 for c in rndbytes: 102 for c in rndbytes: