Hi,
Could you please help me to figure out what I am doing wrong here?
The test for decryption fails for me. However, I manually validated results and it was 100% correct. I am using Base64 standard library for encryption/decryption.
Thank you in advance!
package com.codegym.task.task18.task1826;
/*
Encryption
*/
import java.io.*;
import java.util.Base64;
public class Solution {
public static void main(String[] args) throws IOException {
String inputFileName = args[1];
String outputFileName = args[2];
Cryptography cryptography = new Cryptography();
BufferedReader bufferedReader = new BufferedReader(new FileReader(inputFileName));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(outputFileName));
String data;
switch (args[0]) {
case "-e":
while ((data = bufferedReader.readLine())!=null) {
String encodedLine = cryptography.encrypt(data);
bufferedWriter.write(encodedLine);
}
break;
case "-d":
while ((data = bufferedReader.readLine())!=null) {
String decodedLine = cryptography.decrypt(data);
bufferedWriter.write(decodedLine);
}
break;
}
bufferedReader.close();
bufferedWriter.close();
}
public static class Cryptography {
public String encrypt(String text) {
return Base64.getEncoder().encodeToString(text.getBytes());
}
public String decrypt(String text) {
byte[] decodedBytes = Base64.getDecoder().decode(text);
return new String(decodedBytes);
}
}
}