Продолбался, но запилил. Работает на "Ура". Все условия выполнены. Потоки есть, шифрует\дешефрует. Валидатор ругается по всем пунктам практически. Что делать?
public class Solution {
public static void main(String[] args) throws NoSuchPaddingException, NoSuchAlgorithmException, IOException, BadPaddingException, IllegalBlockSizeException, InvalidKeyException {
String fileName = args[1];
String key = "ebta112312341231";
SecretKey secretKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
switch (args[0]){
case "-e":
cipher.init(ENCRYPT_MODE, secretKey);
break;
case "-d":
cipher.init(DECRYPT_MODE, secretKey);
break;
}
FileInputStream inputStream = new FileInputStream(fileName);
byte[] inputBytes = new byte[inputStream.available()];
inputStream.read(inputBytes);
inputStream.close();
byte[] outputBytes = cipher.doFinal(inputBytes);
FileOutputStream outputStream = new FileOutputStream(args[2]);
outputStream.write(outputBytes);
outputStream.close();
}
}
package com.javarush.task.task18.task1826;
/*
Шифровка
*/
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import static javax.crypto.Cipher.DECRYPT_MODE;
import static javax.crypto.Cipher.ENCRYPT_MODE;
public class Solution {
public static void main(String[] args) throws NoSuchPaddingException, NoSuchAlgorithmException, IOException, BadPaddingException, IllegalBlockSizeException, InvalidKeyException {
String fileName = args[1];
String key = "ebta112312341231";
SecretKey secretKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
switch (args[0]){
case "-e":
cipher.init(ENCRYPT_MODE, secretKey);
break;
case "-d":
cipher.init(DECRYPT_MODE, secretKey);
break;
}
FileInputStream inputStream = new FileInputStream(fileName);
byte[] inputBytes = new byte[inputStream.available()];
inputStream.read(inputBytes);
inputStream.close();
byte[] outputBytes = cipher.doFinal(inputBytes);
FileOutputStream outputStream = new FileOutputStream(args[2]);
outputStream.write(outputBytes);
outputStream.close();
}
}