JavaRush /Курсы /Java Collections /Задачи | 2 уровень | 6 лекция

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

Java Collections
2 уровень , 6 лекция
Открыта

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

28
Задача
Java Collections, 2 уровень, 6 лекция
Недоступна
Генератор паролей
Реализуй логику метода getPassword, который должен возвращать ByteArrayOutputStream, в котором будут байты пароля. Требования к паролю: 1) 8 символов. 2) только цифры и латинские буквы разного регистра. 3) обязательно должны присутствовать цифры, и буквы разного регистра. Все сгенерированные пароли
14
Задача
Java Collections, 2 уровень, 6 лекция
Недоступна
Целостность информации
Представь ситуацию, ты выкачал архив с интернета, и в момент скачивания у тебя на несколько секунд пропало соединение. Нужно убедиться, валидный ли архив ты скачал. Для этого сверим его MD5 хеш. Прочитать о MD5 на wiki. Прочитать о MessageDigest. Реализуй логику метода compareMD5, который должен по
Комментарии (81)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Артём Сёмкин Уровень 44
2 апреля 2025
{Java_Shark} Уровень 36
20 января 2025
++
Евгений Уровень 51
30 октября 2024

BigInteger bi = new BigInteger(digest);
return bi.toString(16).equals(md5);
не работает....
Kasar Уровень 51
10 июля 2023
Edward Northwind Уровень 37
17 января 2023
Мы тебе в 10-й раз расскажем про потоки и ридеры и вот тебе задача, для выполнения которой тебе нужно ознакомиться с хешированием и криптографией. Вот твой счет за урок.
Кирилл Уровень 35
23 апреля 2023
Если честно, я максимально под*х*ел с этого. Огромная лекция с нулем новой инфы, а затем две задачи хард и медиум, к которым надо самому изучить что-то, что вообще с лекцией не связано.
Виктор Уровень 46
7 ноября 2022
Всё, что надо для решения первой задачи: Генерация случайных чисел Таблица символов
9 января 2023
Спасибо. Сделал жизнь немножко проще))
Lipovskyi Volodymyr Уровень 36
22 августа 2022
Цікавий варіант через random+ nextInt чи nextString: result.add(archiveUpper.get(random.nextInt(25))); P.S. Тестування пройшла, а валідатора ні)
Станислав Future Уровень 39
10 августа 2022
Для преобразования одного символа в шестнадцатиричную строку можно использовать формат %02х

StringBuilder result = new StringBuilder();
            for (byte b : digest) {
                result.append(String.format("%02x", b));
            }
26 октября 2023
Пояснение для тех, кто будет использовать шаблон форматирования String.format("%02x", b) из этого сообщения: - мы форматируем каждый байт по шаблону %02x. - % в данном случае означает начало шаблона, - 2 говорит о длине формируемой строки, - 0 – о том, что если число занимает меньше символов, чем требуется, то недостающие разряды будут заполнены нулями. - Ну а x отвечает за шестнадцатеричный формат. При использовании прописной X строка будет также содержать прописные буквы, а при использовании строчной x – строчные.
KirilX Уровень 51
9 августа 2022
Тут и так для решения любой задачи пол интернета перерыть нужно для поиска подходящих методов и т.д. , так еще и для решения задач лазить по вики нужно. Могли бы уже расписать теорию.....
Andrey Karelin Уровень 41
21 апреля 2022
Вот интересно. Можно долго читать про ХЕШ шифрование MD5, SHA-1. Пытаться много часов/дней/ночей пытаться понять низкоуровневый алгоритм сего действа... особенно если начинать с вики.... и с чувством "неполноценности" забросить всю эту высшую математику. А надо то всего лишь понять в трех словах для чего это делается, и запомнить 5..7 строчек кода, чтобы получать строку ХЕШ для ее сравнения с результатом. Всего то: знать, что такой то код это делает...и все. P.S. человек в видео за 10 минут это бесплатно все разжевал ясно и понятно. Джавараш в лекции за деньги не соизволил это дать.
11 января 2023
Вот Я соглашусь. Лекция должна быть лекцией, все-таки. Да, мы должны учиться самостоятельно искать информацию, но не до такой же степени.
Кирилл Уровень 35
23 апреля 2023
А ссылку на лекцию дадите?