Всем привет! В предыдущей статье мы написали простой генератор паролей. В этой статье мы его доработаем. Для начала мы не учли одно из важных требований для пароля: пароль должен содержать хотя бы один спецсимвол, одну цифра, одну строчную и одну прописную букву. Создадим строковые переменные, внутри которых будем храним каждый из перечисленных символьных наборов: static String numbers = "1234567890";
static String special = "!@$%^&*";
static String lowercase= "abcdefghijklmnopqrstuvwxyz";
static String uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
static String symbols = numbers + special + lowercase + uppercase; И нужно добавить по одному символу от каждого набора в наш генерируемый пароль, для этого напишем небольшой метод public static char randomChar(String symbols){
return symbols.charAt(rnd.nextInt(symbols.length()));
} Здесь с помощью генератора случайных чисел (напомню rnd это SecureRandom()) возвращается 1 случайный символ из набора. И теперь в методе randomPass после объя