changeset 232:7ac8a2537bc9

Implement the urlsafe base64 character repertoire
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 07 Feb 2025 13:38:06 +0100
parents 6d8443878a00
children 5f4c81313be7
files cutils/genpwd.py
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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)