Advertisement
elvirynwa

PasswordGenerator

Apr 8th, 2020
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.94 KB | None | 0 0
  1. import java.util.Random;
  2. import java.util.Scanner;
  3.  
  4. public class PassGenerator {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         System.out.println("Enter password length");
  9.         int length = Integer.parseInt(scanner.nextLine()); // password length
  10.         System.out.println("Enter number of characters");
  11.         int numOfChars = Integer.parseInt(scanner.nextLine());
  12.         System.out.println("Enter number of 'numbers'");
  13.         int numOfNums = Integer.parseInt(scanner.nextLine());
  14.         System.out.println("Enter number of symbols");
  15.         int numOfSymbols = Integer.parseInt(scanner.nextLine());
  16.  
  17.         if (numOfChars + numOfNums + numOfSymbols > length) {
  18.             System.out.println("Warning!! Your password length is " + length);
  19.             return;
  20.         }
  21.         System.out.println(generatePswd(length, numOfChars, numOfNums, numOfSymbols));
  22.     }
  23.  
  24.     static char[] generatePswd(int passLength, int numOfChars, int numOfNums, int numOfSymbols) {
  25.         System.out.println("Your Password:");
  26.         String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  27.         String nums = "0123456789";
  28.         String symbols = "!@#$%^&*_=+-/€.?<>)";
  29.  
  30.         Random rnd = new Random();
  31.  
  32.         char[] password = new char[passLength];
  33.         int index = 0;
  34.  
  35.         for (int i = 0; i < passLength; i++) {
  36.             password[i] = chars.charAt(rnd.nextInt(chars.length()));
  37.         }
  38.         for (int j = 0; j < numOfChars; j++) {
  39.             password[j] = chars.charAt(rnd.nextInt(chars.length()));
  40.         }
  41.         for (int k = numOfChars; k < numOfNums + numOfChars; k++) {
  42.             password[k] = nums.charAt(rnd.nextInt(nums.length()));
  43.         }
  44.         for (int l = numOfNums + numOfChars; l < passLength; l++) {
  45.             password[l] = symbols.charAt(rnd.nextInt(symbols.length()));
  46.         }
  47.         return password;
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement