Шифровка Придумать механизм шифровки/дешифровки. Программа запускается с одним из следующих наборов параметров: -e fileName fileOutputName -d fileName fileOutputName где: fileName - имя файла, который необходимо зашифровать/расшифровать. fileOutputName - имя файла, куда необходимо записать результат шифрования/дешифрования. -e - ключ указывает, что необходимо зашифровать данные. -d - ключ указывает, что необходимо расшифровать данные. Требования: 1. Считывать с консоли ничего не нужно. 2. Создай поток для чтения из файла, который приходит вторым параметром ([fileName]). 3. Создай поток для записи в файл, который приходит третьим параметром ([fileOutputName]). 4. В режиме "-e" программа должна зашифровать [fileName] и записать в [fileOutputName]. 5. В режиме "-d" программа должна расшифровать [fileName] и записать в [fileOutputName]. 6. Созданные для файлов потоки должны быть закрыты. Реализовал криптографический алгоритм Blowfish, все работает(шифрует\расшифровывает), но задача не компилируется на сервере. Половина дня потрачено зря :((
package com.javarush.task.task18.task1826;

/*
Шифровка
*/
/*
 * JBoss.java - Blowfish encryption/decryption tool with JBoss default password
 *    Daniel Martin Gomez <daniel@ngssoftware.com> - 03/Sep/2009
 *
 * This file may be used under the terms of the GNU General Public License
 * version 2.0 as published by the Free Software Foundation:
 *   http://www.gnu.org/licenses/gpl-2.0.html
 */

import java.io.*;
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;


public class Solution {
    public static void main(String[] args) throws Exception {
        String mode = args[0];
        String fileName1 = args[1];
        String encryptFileName = args[2];
        byte[] kbayts = "123456789ABCDEF".getBytes();

        FileInputStream fis = new FileInputStream(fileName1);
        FileOutputStream fos = new FileOutputStream(encryptFileName);

        byte[] bufferFileName = null;
        if (fis.available() > 0) {
            bufferFileName = new byte[fis.available()];
            fis.read(bufferFileName);
        }
        SecretKeySpec key = new SecretKeySpec(kbayts, "Blowfish");
        Cipher cipher = Cipher.getInstance("Blowfish");


        if (mode.startsWith("-e")) {
            cipher.init(Cipher.ENCRYPT_MODE, key);
            byte[] encoding = cipher.doFinal(bufferFileName);
            System.out.print(encoding.length);
            fos.write(encoding);
            fos.close();
            fis.close();
        }
        else
        {
            ByteArrayInputStream bb = new ByteArrayInputStream(bufferFileName);
            cipher.init(Cipher.DECRYPT_MODE, key);
            byte[] message = cipher.doFinal(bb.readAllBytes());
            fos.write(message);
            fos.close();
            fis.close();
        }
    }
}