diff cutils/genpwd.py @ 241:d4501acb0a7c

Implement a "bin-hex" password selection/repertoire
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 08 Feb 2025 09:41:44 +0100
parents 32616df2732e
children ae9bc3006efc
line wrap: on
line diff
--- a/cutils/genpwd.py	Sat Feb 08 09:37:48 2025 +0100
+++ b/cutils/genpwd.py	Sat Feb 08 09:41:44 2025 +0100
@@ -20,6 +20,7 @@
 
 import argparse
 import base64
+import binascii
 import os
 import sys
 
@@ -51,7 +52,7 @@
         "--repertoire", "--type", "-t",
         choices=("web", "web-safe", "web-safe2",
                  "bin-base64", "bin-urlsafe-base64", "bin-base32",
-                 "bin-ascii85", ),
+                 "bin-ascii85", "bin-hex", ),
         default="web-safe2",
         help="Select the character repertoire. Default: web-safe2")
     aparser.add_argument(
@@ -81,6 +82,9 @@
     elif opts.repertoire == "bin-ascii85":
         encoder = base64.a85encode
         pwd = gen_bin(opts.req_length, opts.use_bin_length, encoder)
+    elif opts.repertoire == "bin-hex":
+        encoder = binascii.hexlify
+        pwd = gen_bin(opts.req_length, opts.use_bin_length, encoder)
     else:
         raise NotImplementedError("type not yet implemented: %s"
                                   % opts.repertoire)