Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import random as r | |
| import string | |
| # Define character sets | |
| lower_charset = string.ascii_lowercase | |
| upper_charset = string.ascii_uppercase | |
| digitset = string.digits | |
| symbolset = '!@#$%^&*()-_=+~:;{}[]/|<>?' | |
| # Define character set options | |
| options = { | |
| '1': ('Uppercase Letters Only', upper_charset), | |
| '2': ('Lowercase Letters Only', lower_charset), | |
| '3': ('Numbers Only', digitset), | |
| '4': ('Symbols Only', symbolset), | |
| '5': ('Uppercase and Lowercase Letters', upper_charset + lower_charset), | |
| '6': ('Uppercase Letters and Numbers', upper_charset + digitset), | |
| '7': ('Uppercase Letters and Symbols', upper_charset + symbolset), | |
| '8': ('Lowercase Letters and Numbers', lower_charset + digitset), | |
| '9': ('Lowercase Letters and Symbols', lower_charset + symbolset), | |
| '10': ('Numbers and Symbols', digitset + symbolset), | |
| '11': ('Symbols, Lowercase Letters, and Uppercase Letters', symbolset + lower_charset + upper_charset), | |
| '12': ('Symbols, Lowercase Letters, and Numbers', symbolset + lower_charset + digitset), | |
| '13': ('Symbols, Uppercase Letters, and Numbers', symbolset + upper_charset + digitset), | |
| '14': ('All Characters', upper_charset + lower_charset + digitset + symbolset) | |
| } | |
| def generate_password(char_type, length): | |
| if char_type not in options: | |
| return "Invalid choice. Please select a valid option." | |
| possible_chars = options[char_type][1] | |
| generated_passwd = ''.join(r.choices(possible_chars, k=length)) | |
| return generated_passwd | |
| # Create Gradio interface | |
| iface = gr.Interface( | |
| fn=generate_password, | |
| inputs=[ | |
| gr.Dropdown(list(options, label="Choose the character set you want to use for your password", value=options[14]), | |
| gr.Slider(1, 50, step=1, label="Enter the desired length of your password", value=12) | |
| ], | |
| outputs="text", | |
| title="Password Generator", | |
| description="Generate a strong password based on your chosen character set and length." | |
| ) | |
| # Launch the interface | |
| iface.launch() |