見出し画像

PW作成ツールをもっと簡略化してみた

どうも、一花です^^
PW作成ツールをもっと簡略化しました←
最終的に16進数を活用して小文字と数字のみのPWが
作れるものになりました。

import random
import re


def restart():
    while True:
        replay = input("もう一度やりますか?(y or n)>>>")
        if replay != "y" and replay != "n":
            print("yかnで答えてください")
            continue
        break
    if replay == "y":
        return True
    else:
        return False


def digiterror():
    print("8~16の数字を入れてください。")


while True:
    print("PW自動作成プログラムです。")
    while True:
        try:
            digit = int(input("桁数を入れてください(8~16)>>>"))
        except ValueError:
            digiterror()
            continue
        if digit < 8 or digit > 16:
            digiterror()
            continue
        break
    print("PWが表示されるまでお待ち下さい。")
    while True:
        pwlist = []
        index = 0
        while True:
            num = random.randint(0, 15)
            pwlist.append(hex(num))
            index += 1
            if index == digit:
                break
        dummypw = ''.join(map(str,pwlist))
        dummypwlist=list(dummypw)
        index=2
        pwlist=[]
        while True:
            pwlist.append(dummypwlist[index])
            index+=3
            if index>=len(dummypwlist):
                break
        pw=''.join(pwlist)
        if len(re.findall('[a-z]', pw)) == 0 or len(re.findall('\d', pw)) == 0:
            continue
        break
    print("PW:" + pw)
    if restart() == False:
        break

input("Enterで終了")

「PWはもう必要ないんだ」ってユナが言ってたね。

記事をご覧頂きまして、まことにありがとうございます。 「缶コーヒーの差し入れ」くらいの気持ちでサポートをしてくれされば とても励みになります。