pythonはどのようにランダムに高強度のパスワードを生成しますか?


本論文の例では、pythonがランダムに高強度のパスワードを生成する具体的なコードを共有しています。

import random
import re

#     
englishChar = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'l', 'k', 'j', 'h', 'g', 'f', 'd', 's', 'a', 'z', 'x',
    'c', 'v',
    'b', 'n', 'm']
#     
numberChar = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
#     
symbolChar = ['!', '@', '#', '$', '%', '^', '&', '*']
#      
password = ''

#          
allChar = []
#       
print('1、  ')
print('2、  +  ')
print('3、  +  +  ')
typePassword = input('          (  ):')
#         
if not re.fullmatch('[1-3]', typePassword):
 print("\033[37;41m      \033[0m")
 exit(0)
#        
if typePassword.__eq__('1'):
 allChar = englishChar.copy()
if typePassword.__eq__('2'):
 allChar = englishChar.copy() + numberChar.copy()
if typePassword.__eq__('3'):
 allChar = englishChar.copy() + numberChar.copy() + symbolChar.copy()
#       
random.shuffle(allChar)
#       
account = input('          ?:')
accountID = input('    ID:')
passwordLength = input('       (25>p>7):')
#           
if not passwordLength.isdigit() and 25 > int(passwordLength) > 7:
 print("\033[37;41m      \033[0m")
 exit(0)
#       
for i in range(int(passwordLength)):
 a = len(allChar) - 1
 password = password + allChar[random.randint(0, a)]

#       
with open('/Users/apple/    /  /' + account, 'w', encoding='utf8') as file:
 file.writelines("  ID:" + accountID + '
') file.writelines(' :' + password) file.close() # print(' :' + password)
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。