Sto scrivendo uno script Python per generare password personalizzate basate su un HMAC. Voglio che le password supportino i vari requisiti dei siti Web, quindi voglio mappare l'output HMAC (es .: formato hex) a un array di caratteri consentiti.
Diciamo che voglio mappare 'fea503e5' solo ai numeri.
Il problema lo sta facendo in modo sicuro, come usando modulo:
# numbers = "0123456789"
# pwd = ""
# ascii_digest is [65, 66, 67] for string "abc"
for i in ascii_digest:
pwd = pwd + numbers[i % len(chars)]
non è sicuro perché alcune lettere hanno più possibilità di essere prelevate (multipli di 10).
Il programma tr farà questo in modo sicuro? Come funziona o anche di più, come deve essere implementata una funzione di mappatura sicura?