Advertisement
dev017

password generator. Java

Aug 6th, 2023
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.17 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Random;
  3.  
  4. public class PasswordGenerator {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.         System.out.print("Enter the length of the password: ");
  8.         int length = scanner.nextInt();
  9.         System.out.print("incluir números? (Y/N): ");
  10.         boolean numbers = scanner.next().equalsIgnoreCase("Y");
  11.         System.out.print("incluir letras?? (Y/N): ");
  12.         boolean letters = scanner.next().equalsIgnoreCase("Y");
  13.         System.out.print("incluir simbolos?? (Y/N): ");
  14.         boolean symbols = scanner.next().equalsIgnoreCase("Y");
  15.         System.out.print("Incluir letras maiúsculas? (Y/N): ");
  16.         boolean uppercase = scanner.next().equalsIgnoreCase("Y");
  17.         System.out.println("SENHA GERADA: " + createPassword(length, numbers, letters, symbols, uppercase));
  18.         scanner.close();
  19.     }
  20.  
  21.     public static String createPassword(int length, boolean numbers, boolean letters, boolean symbols, boolean uppercase) {
  22.         String password = "";
  23.         Random random = new Random();
  24.         while (password.length() < length) {
  25.             if (numbers && password.length() < length) {
  26.                 password += random.nextInt(10);
  27.             }
  28.             if (letters && password.length() < length) {
  29.                 password += (char) (random.nextInt(26) + 'a');
  30.             }
  31.             if (symbols && password.length() < length) {
  32.                 String punctuation = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
  33.                 password += punctuation.charAt(random.nextInt(punctuation.length()));
  34.             }
  35.             if (uppercase && password.length() < length) {
  36.                 password += (char) (random.nextInt(26) + 'A');
  37.             }
  38.         }
  39.         char[] passwordArray = password.toCharArray();
  40.         for (int i = 0; i < passwordArray.length; i++) {
  41.             int randomIndex = random.nextInt(passwordArray.length);
  42.             char temp = passwordArray[i];
  43.             passwordArray[i] = passwordArray[randomIndex];
  44.             passwordArray[randomIndex] = temp;
  45.         }
  46.         return new String(passwordArray);
  47.     }
  48. }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement