Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
23 / 3 / 3
Регистрация: 16.02.2014
Сообщений: 170
Записей в блоге: 1

Шифровка файлов Java

27.04.2014, 21:48. Показов 1790. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Задали задание которое просто вынесло мне мозг. Хотя если это всё знать то оно не сложно :

В лабораторной работе вы должны разработать две программы.
Первая программа должна прочитать и вывести на экран свой текст и затем сохранить его в новом текстовом файле с расширением *.txt С ним будет работать вторая программа.


Вторая программа начинается с ввода имени текстового файла, полученного в первой программе и произвольного пароля. Их надо ввести в метод Main(string[] args) с помощъю командной строки В Visual Studio для этого надо в пункте Menu найти Solution Explorer, в его окне кликнуть пункт Properties и в открывшемся окне слева кликнуть по слову Debug . В появившемся окне Command line arguments и надо написать имя файла и пароль. Разделителем должен быть пробел.
Затем надо создать объект класса ASCIIEncoding и с помощью его метода GetBytes() преобразовать строку пароля в массив байтов с ASCII кодировкой. Далее в пограмме массив байтов пароля надо будет зашифровать. Воспользуйтесь простейшим методом шифрования - операцией «исключающее или» над байтами преобразованного кода. Если задействовать UnicodeEncodingGetBytes, шифрование будет менее эффективным, так как вызов этой функции для строк, содержащих символы алфавитов стран Запада, создаёт буфер, каждый второй байт в котором содержит 0. Выполнение операции «исключающее или» с аргументом 0 абсолютно ничего не делает, а выбранный нами метод шифрования и так достаточно слаб, чтобы применять ключи с большим колчеством нулей. ASCIIEncoding является членом пространства имён System.Text.
Зашифруйте пароль, применив к каждому его байту операцию newByte ^= oldByte;
Cоздайте буфер для массива преобразованных байтов пароля. Выберем его размер раз в 10...20 большим, чем длина пароля, и многкратно скопируем в него массив байтов, полностью заполнив буфер.
Теперь откроем для чтения и записи созданный первой программой текстовый файл с кодом программы и, используя классы BinaryReader и BinaryWriter, создадим читатель и писатель, обернув объект класса FileStream, как указано в пункте 2 выше..
В цикле считывайте читателем блоками по 100 байтов текстовый файл, применяйте к каждому байту блока операцию «исключающее или» и записывайте блок в файл на то место, с которого он был прочтён. Имейте в виду, что последний блок скорее всего будет иметь длину меньше 100 байтов. Его тоже надо о записать на место, которое о занимал изначально.
Откройте текстовый файл и посмотрите, как выглядит зашифрованный текст. Теперь снова запустите программу и по окончании её работы посмотрите, как тепеь выглядит текст. Если программа работает правильно, вы должны снова увидеть, что он вернулся к первоначальному виду текст.
Вот такая вот задачка. Только делать надо на Джаве в НетБинсе.
Первую программку просто по созданию файла и записи в него сделал. Правда не понял каким образом повесить на него пороль.
А вот вторую часть это всё. Взрыв баттхерт. В общем выручайте. )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2014, 21:48
Ответы с готовыми решениями:

Алгоритм RSA на JAVA шифровка/дешифровка
Доброе время суток, форумчане! На днях выдали лабораторное задание, которое сказали реализовать на джаве, с которым я знакома пару недель!...

Шифровка текста на Java
Ребят,я видела подобную задачу здесь, но найти не могу( Может кто-нибудь поделится ссылкой?)) Буду очень благодарна Один из...

Java Декомпилирование файлов .class - Java
Господа есть .jar архив в нем есть TaifunBluetooth.class нужно его декомпилировать в .java файл без ошибок, что бы было возможно в...

4
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
27.04.2014, 23:29
Цитата Сообщение от WepstaR Посмотреть сообщение
В общем выручайте. )
Ну разве только что у кого нить часов 5 свободного времени будет и очень большое чувтсво альтруизма...

Первая часть программы должна не просто файл записать, а записать в него код этой самой программы насколько следует из-задания
0
23 / 3 / 3
Регистрация: 16.02.2014
Сообщений: 170
Записей в блоге: 1
28.04.2014, 20:13  [ТС]
Ну я понял так :

Первая программка просто вносит в какой то файл текст который мы вводим. А вторая программка этот текст в этом файле шифрует. В итоге текст не читабелен. И чтобы его прочесть нужно ещё раз программку запустить вторую. И текст вернётся в расшифрованный вариант.

Но помимо этого нужно ещё и как то нашаманить пороли. Запоролить это всё дело. О.о
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
28.04.2014, 21:34
Цитата Сообщение от WepstaR Посмотреть сообщение
Первая программка просто вносит в какой то файл текст который мы вводим
Судя по заданию это не так.
Например для программы
Java
1
2
3
4
5
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}
Содержание файла должно быть

public class Hello { public static void main(String[] args) {System.out.println("Hello world");}}


То есть написать программу, которая будет выводить _свой собственный текст\код_ в файл.
0
23 / 3 / 3
Регистрация: 16.02.2014
Сообщений: 170
Записей в блоге: 1
29.04.2014, 18:22  [ТС]
Ну спс. Ещё сложнее задачу сделали. Теперь точно осталось только застрелиться.

Добавлено через 15 минут
Я так понимаю
Java
1
2
3
4
5
6
7
try {
            PrintWriter fl = new PrintWriter("C:\\Задачка(6).txt");
            fl.println(arr1);
            fl.close();
        } catch (FileNotFoundException ex) {
            System.out.println("ERROR");
        };
Вот в место слово аrr1 надо написать что то, чтобы весь код сохранился в текстовый файл ? Или это должна быть другая какая то функция. И по строкавая запись ?

Добавлено через 59 секунд
Я вот думаю для начала просто сделать так чтобы программка создала файл. Записала свой код в него. И затем вторая программка зашифровала. Эти вот функции Аски(методы) они есть в гугле. С ними проблем не думаю что будет много.
Но вот как запоролить это дело ? Я вообще без понятия. Даже не слышал что так можно.

Но надо начинать с первой ступеньки. Как именно записать в файл весь код программки ? )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.04.2014, 18:22
Помогаю со студенческими работами здесь

Копирование файлов JAVA
Здравствуйте. При изучении программной реализации процесса копирования в Java у меня возникли некоторые проблемы, связанные с непониманием...

Создание .gif файлов на Java.
Всем здрасте! Нужно сделать прогу которая создает .gif файл(разумеется на java:)) может кто подскажет как расковырять этот формат(да и...

Создание ЕХЕ файлов на Java
Здрасти. Поведайте незнайке, возможно ли лепить ехе-файлы из ява программ, ибо ограничение байт-кодом манеха не устраивает в моем случае (а...

Как скомпиллировать несколько Java файлов
Доброго времени суток! Есть несколько java файлов - в каждом по 1 классу - 1.java, 2,java, 3.java. Как получить исполняемый файл....

java не обрабатывает относительные пути файлов?
То есть так работает: java hello А так нет: java ..\hello Почему? Во втором случае hello.class в родительской папке ЕСТЬ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru