# HG changeset patch # User Franz Glasner # Date 1738931886 -3600 # Node ID 7ac8a2537bc9f09f7b83d931ce456ebfbc334bb8 # Parent 6d8443878a009399e32f554dd87cfa366b54b01e Implement the urlsafe base64 character repertoire diff -r 6d8443878a00 -r 7ac8a2537bc9 cutils/genpwd.py --- a/cutils/genpwd.py Fri Feb 07 13:30:33 2025 +0100 +++ b/cutils/genpwd.py Fri Feb 07 13:38:06 2025 +0100 @@ -43,7 +43,7 @@ aparser.add_argument( "--repertoire", "--type", "-t", choices=("web", "web-safe", "web-safe2", - "base64", "base32", "ascii85", ), + "base64", "urlsafe-base64", "urlsafe", "base32", "ascii85", ), default="web-safe2", help="Select the character repertoire. Default: web-safe2") aparser.add_argument( @@ -64,6 +64,9 @@ elif opts.repertoire == "base64": encoder = base64.b64encode pwd = gen_bin(opts.req_length, encoder) + elif opts.repertoire in ("urlsafe-base64", "urlsafe"): + encoder = base64.urlsafe_b64encode + pwd = gen_bin(opts.req_length, encoder) elif opts.repertoire == "base32": encoder = base64.b32encode pwd = gen_bin(opts.req_length, encoder)