Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как зашифровать файл? Пример из книги К.Хорстмана и Г.Корнелла 
V
    Опции темы
neo03
Дата 12.9.2011, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Доброго всем времени суток! Изучаю книгу К.Хорстмана и Г.Корнелла Java2. ТомII. Там в главе 9, посвященной вопросам безопасности есть пример: алгоритм шифрования Цезаря(сдвигает текст на три буквы).Он по идее должен выдавать файлы с расширением .caesar . А как мне получить этот файл (допустим мне надо зашифровать файл Calculator.java в том же каталоге home/neo/clt, в котором находится и файл Caesar.java ) ? Т.е. мне надо получить файл Calculator.caesar.  Вот файл Caesar.java:

Код

import java.io.*;

//Копирование файла с использованием шифра Цезаря.
public class Caesar
{
    public static void main(String[] args)
    {
        if (args.length != 3)
        {
            System.out.println("USAGE: java Caesar in out key");
            return;
        }
        
        try
        {
            FileInputStream in = new FileInputStream(args[0]);
            FileOutputStream out = new FileOutputStream(args[1]);
            int key = Integer.parseInt(args[2]);
            int ch;
            while((ch = in.read()) != -1)
            {
                byte c = (byte)(ch + key);
                out.write(c);
            }
            in.close();
            out.close();
        }
        catch(IOException exception)
        {
            exception.printStackTrace();
        }
    }
}

PM MAIL   Вверх
dobrolub
Дата 12.9.2011, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 11
Всего: 16



Для 'in' укажи либо
- полный путь к файлу (C:\\proj\\ch-9\\home\\neo\\clt\\Calculator.java)
- либо относительный путь e.g. home\\neo\\clt\\Calculator.java

Код

java -cp . C:\\proj\\ch-9\\home\\neo\\clt\\Calculator.java c:\\temp\\Calculator.cesar

PM   Вверх
neo03
Дата 12.9.2011, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Я когда просто запускал файл Caesar.java, то он мне выдавал: "USAGE: java Caesar in out key" и всё. 
Я, честно говоря, не понял: причем тогда в Вашей командной строке файл Caesar.java? Ведь именно он шифрует страницу. По - моему команда - ср означает копирование, или я ошибаюсь? Но мне не надо копировать, мне надо зашифровать файл Calculator.java  с помощью файла Caesar.java(он реализует алгоритм шифрования) и в результате шифрования должен получиться файл Calculator.caesar. Но какой командой  это сделать я не знаю.Я работаю в Ubuntu10.10. Если не трудно, поясните пожалуйста.
PM MAIL   Вверх
dobrolub
Дата 12.9.2011, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 11
Всего: 16



ах. понятно. 

Тогда сделайте след.

Код

cd /home/neo/clt
javac Caesar.java
java -classpath . Caesar Calculator.java Calculator.caesar 3


пояснения

java -cp эквиваленто java -classpath

-classpath указывает java где искать классы
'-classpath .' указывает что классы в текущей директории

PM   Вверх
neo03
Дата 13.9.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Спасибо большое. Все получилось.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.