Files
Password-Crack-Time-Checker/generator.py
2026-04-25 11:33:35 -04:00

31 lines
1.2 KiB
Python

import random
import string
import questionary
def generate_password(length,use_upper=True,use_lower=True,use_digits=True,use_symbols=True):
characters=""
if use_upper:characters+=string.ascii_uppercase
if use_lower:characters+=string.ascii_lowercase
if use_digits:characters+=string.ascii_uppercase
if use_symbols:characters+=string.punctuation
characterslist=list(characters)
password=""
if not characters:
return ""
for i in range(length):
password+=random.choice(characterslist)
return password
def main():
print("Bitwarden password generator clone")
length=questionary.text("How long?",validate=lambda text: True if text.isdigit() else "Please enter a valid number").ask()
use_upper=questionary.confirm("Use uppercase?").ask()
use_lower=questionary.confirm("Use lowercase?").ask()
use_digits=questionary.confirm("Use digits?").ask()
use_symbols=questionary.confirm("Use symbols?").ask()
pw=generate_password(int(length),use_upper,use_lower,use_digits,use_symbols)
if pw:
print(pw)
else:
print("You didn't choose anything to put in, here's your password anyway: \"\"")
if __name__=="__main__":
main()