Выход дает тот же результат
Я пытаюсь запустить этот код, но он дает тот же результат: то, что я пытаюсь сделать, это попросить пользователя ввести текст для шифрования. Затем введите ключ, который он хочет использовать для шифрования 128, 192 или 256. Но когда я тестирую его всякий раз, когда я ввожу что-либо, он дает один и тот же результат :( это метод, который я пытаюсь вызвать
package test; public class MARS { public static byte[] encrypt(byte[] in,byte[] key){ K = expandKey(key); int lenght=0; byte[] padding = new byte[1]; int i; lenght = 16 - in.length % 16; padding = new byte[lenght]; padding[0] = (byte) 0x80; for (i = 1; i < lenght; i++) padding[i] = 0; byte[] tmp = new byte[in.length + lenght]; byte[] bloc = new byte[16]; int count = 0; for (i = 0; i < in.length + lenght; i++) { if (i > 0 && i % 16 == 0) { bloc = encryptBloc(bloc); System.arraycopy(bloc, 0, tmp, i - 16, bloc.length); } if (i < in.length) bloc[i % 16] = in[i]; else{ bloc[i % 16] = padding[count % 16]; count++; } } if(bloc.length == 16){ bloc = encryptBloc(bloc); System.arraycopy(bloc, 0, tmp, i - 16, bloc.length); } return tmp; } }
это класс вызывающего метода
package test; import java.io.BufferedReader; import java.io.InputStreamReader; public class Call { public static void main(String[] args) throws Exception { byte[] array = "going to encrypt".getBytes(); byte[] key = "the key you want to use".getBytes(); byte[] encryptBloc = MARS.encrypt(array,key); BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in)); String plainText = userInput.readLine(); System.out.println("Enter Text that you want to Encrypt: " + plainText); BufferedReader ke = new BufferedReader(new InputStreamReader(System.in)); String kee = userInput.readLine(); System.out.println("Enter The Key you want to use to encrypt this message: " + new String(key)); System.out.println("plain Text: "+ plainText); System.out.println("Encrypted Text: " + new String(encryptBloc)); } }
Что я уже пробовал:
попытался прочитать ввод пользователя :(