undefined

Задачи | 2 уровень | 6 лекция

Java Collections
2 уровень , 6 лекция
Доступна

— Хе-хе, Амиго. Смотри, что я для тебя придумал:

undefined
28
Задача
Java Collections, 2 уровень, 6 лекция
Недоступна
Генератор паролей
Реализуй логику метода getPassword, который должен возвращать ByteArrayOutputStream, в котором будут байты пароля. Требования к паролю: 1) 8 символов. 2) только цифры и латинские буквы разного регистра. 3) обязательно должны присутствовать цифры, и буквы разного регистра. Все сгенерированные пароли
undefined
14
Задача
Java Collections, 2 уровень, 6 лекция
Недоступна
Целостность информации
Представь ситуацию, ты выкачал архив с интернета, и в момент скачивания у тебя на несколько секунд пропало соединение. Нужно убедиться, валидный ли архив ты скачал. Для этого сверим его MD5 хеш. Прочитать о MD5 на wiki. Прочитать о MessageDigest. Реализуй логику метода compareMD5, который должен по
Комментарии (47)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Uladzimir Уровень 24 Витебск
14 апреля 2021
Вставил такую вафлю,

 while (buffer[0] == 0 || buffer[1] == 0 || buffer[2] == 0 || buffer[3] == 0 ||
                  buffer[4] == 0 || buffer[5] == 0 || buffer[6] == 0 || buffer[7] == 0 ){

              buffer[randome.nextInt(8)] = (byte) (randome.nextInt(10) + 48);
              buffer[randome.nextInt(8)] = (byte) (randome.nextInt(26) + 65);
              buffer[randome.nextInt(8)] = (byte) (randome.nextInt(26) + 97);

          }
и валидатор рандомно принял с третьей попытки без исправлений, хотя на консоль выводилось всё по условию.
SerB Уровень 40 Екатеринбург Россия
22 марта 2021
Здесь хороший пример с дайджестами для 2 задачи тык
SerB Уровень 40 Екатеринбург Россия
22 марта 2021
У меня у одного валидатор не принял 1 задачу, хотя все условия выполнялись?
Андрей Уровень 41 Самара
19 января 2021
Я похоже один так заморочился с задачкой о паролях. Реализовал алгоритм который генерирует пароль в зависимости от текущего времени. Брал Date в миллисекундах, переводил в восьмеричную систему счисления, а от туда уже брал количество цифр, upperCase букв, и lowerCase букв, их расположение и собственно сами буквы.
alex_us Уровень 41 Симферополь
7 января 2021
Первую задачу решил в лоб. По мне не оч красиво. Пароли хранил в hashmap <Integer, String>. Организовал проверку на совпадение. Сделал три массива отдельных, в цикле заполнял символами новый стрингбилдер. потом обрезал до 8. Просто примитивно и рабоче. Посмотрел решение разрабов - по мне так оно излишне усложнено. Даже создавали класс новый для этого дела....
Татьяна Уровень 41 Днепр Украина
13 августа 2020
Вот это видео супер помогло легко решить вторую задачу: Работа с шифрованием MD5 и SHA-1 А в первой задаче очень мне помогло вот это видео, сделала через символы, а не через байты, видела что можно по-разному генерировать, но мне был понятен такой подход, может кому пригодиться: Random Password Generator (Java)
Александр Уровень 25 Барнаул Россия
22 мая 2020
Во второй задаче неверно получаем объект из byteArrayOutputStream. Так как мы записывали строку через writeObject, то и вынимать должны через readObject. Если бы ещё записали какой-либо объект, то byteArrayOutputStream.toString() выдал бы всю информацию, а не только "test string". К тому же byteArrayOutputStream.toString() выдаёт помимо "test string" ещё какие-то символы в начале. Почему я написал, что неверно получаем строку из byteArrayOutputStream? Потому что мы получаем просто всю информацию у него, это раз. Во-вторых, если получать, как полагается через readObject, то hash-код правильной строки не будет совпадать с тем, что поддаётся в метод. Как нужно получать строку:

 ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()));
String text = (String) ois.readObject();
В результате получим верную строку, но false, так как изначально в качестве проверки хэш-код "5a47d12a2e3f9fecf2d9ba1fd98152eb" был получен из строки byteArrayOutputStream.toString().
коммивояжер Уровень 26 Москва Россия
6 мая 2020
Жалко, что вернули метку сложности задачей. Это как - то психологически угнетает!
Arturs Visnauskas Уровень 23
12 апреля 2020
https://www.baeldung.com/java-md5