Member 13725790 Ответов: 1

Выход дает тот же результат


Я пытаюсь запустить этот код, но он дает тот же результат: то, что я пытаюсь сделать, это попросить пользователя ввести текст для шифрования. Затем введите ключ, который он хочет использовать для шифрования 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));
    }
}


Что я уже пробовал:

попытался прочитать ввод пользователя :(

1 Ответов

Рейтинг:
2

Member 13725790

BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter Text that you want to encrypt:");
String plainText = userInput.readLine();
System.out.println("Enter the key:");
String key = userInput.readLine();
byte[] encrypted = MARS.encrypt(plainText.getBytes(), key.getBytes())
System.out.println("Plain text: " + plainText);
System.out.println("Encrypted Text: " + new String(encrypted));