# HG changeset patch # User Franz Glasner # Date 1739004104 -3600 # Node ID d4501acb0a7cacb23e4b73fe8cc28cef1eab33e2 # Parent 32616df2732ef98c8a16c1af1ab64da19ae6943b Implement a "bin-hex" password selection/repertoire diff -r 32616df2732e -r d4501acb0a7c cutils/genpwd.py --- 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)