Create a program that generates random, secure passwords based on user-defined criteria, such as:
For example:
Password security is a fundamental part of technology today. This challenge teaches:
Your program should:
!@#$%^&*()-_=+[]{};:,.<>?/
import random
def generate_password(length, use_uppercase, use_lowercase, use_numbers, use_special):
# Define character sets
uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lowercase = "abcdefghijklmnopqrstuvwxyz"
numbers = "0123456789"
special = "!@#$%^&*()-_=+[]{};:,.<>?/"
# Build the pool of characters based on user input
pool = ""
if use_uppercase:
pool += uppercase
if use_lowercase:
pool += lowercase
if use_numbers:
pool += numbers
if use_special:
pool += special
if not pool:
return "Error: No character types selected."
# Generate the password
password = "".join(random.choice(pool) for _ in range(length))
return password
# Get user preferences
print("Welcome to the Password Generator!")
length = int(input("Enter the desired password length: "))
use_uppercase = input("Include uppercase letters? (yes/no): ").lower() == "yes"
use_lowercase = input("Include lowercase letters? (yes/no): ").lower() == "yes"
use_numbers = input("Include numbers? (yes/no): ").lower() == "yes"
use_special = input("Include special characters? (yes/no): ").lower() == "yes"
# Generate and display the password
password = generate_password(length, use_uppercase, use_lowercase, use_numbers, use_special)
print("Your generated password is:", password)
import java.util.Random;
import java.util.Scanner;
public class PasswordGenerator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
// Character sets
String uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lowercase = "abcdefghijklmnopqrstuvwxyz";
String numbers = "0123456789";
String special = "!@#$%^&*()-_=+[]{};:,.<>?/";
// Get user preferences
System.out.println("Welcome to the Password Generator!");
System.out.print("Enter the desired password length: ");
int length = scanner.nextInt();
System.out.print("Include uppercase letters? (yes/no): ");
boolean useUppercase = scanner.next().equalsIgnoreCase("yes");
System.out.print("Include lowercase letters? (yes/no): ");
boolean useLowercase = scanner.next().equalsIgnoreCase("yes");
System.out.print("Include numbers? (yes/no): ");
boolean useNumbers = scanner.next().equalsIgnoreCase("yes");
System.out.print("Include special characters? (yes/no): ");
boolean useSpecial = scanner.next().equalsIgnoreCase("yes");
// Build the pool of characters
String pool = "";
if (useUppercase) pool += uppercase;
if (useLowercase) pool += lowercase;
if (useNumbers) pool += numbers;
if (useSpecial) pool += special;
if (pool.isEmpty()) {
System.out.println("Error: No character types selected.");
return;
}
// Generate the password
StringBuilder password = new StringBuilder();
for (int i = 0; i < length; i++) {
password.append(pool.charAt(random.nextInt(pool.length())));
}
System.out.println("Your generated password is: " + password.toString());
}
}
function generatePassword(length, useUppercase, useLowercase, useNumbers, useSpecial) {
const uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const lowercase = "abcdefghijklmnopqrstuvwxyz";
const numbers = "0123456789";
const special = "!@#$%^&*()-_=+[]{};:,.<>?/";
let pool = "";
if (useUppercase) pool += uppercase;
if (useLowercase) pool += lowercase;
if (useNumbers) pool += numbers;
if (useSpecial) pool += special;
if (pool === "") {
return "Error: No character types selected.";
}
let password = "";
for (let i = 0; i < length; i++) {
password += pool[Math.floor(Math.random() * pool.length)];
}
return password;
}
// Get user input
console.log("Welcome to the Password Generator!");
const length = parseInt(prompt("Enter the desired password length:"));
const useUppercase = confirm("Include uppercase letters?");
const useLowercase = confirm("Include lowercase letters?");
const useNumbers = confirm("Include numbers?");
const useSpecial = confirm("Include special characters?");
// Generate and display the password
const password = generatePassword(length, useUppercase, useLowercase, useNumbers, useSpecial);
console.log("Your generated password is:", password);
0
for the password length.0
, O
, l
, and 1
for easier readability.In Day 27: Text-Based Adventure Game, you create an interactive text-based adventure game where the user navigates through a story by making choices.