Метод, который я пытаюсь вызвать, - это метод шифрования из этого класса, но когда я пытаюсь вызвать его в классе вызова, он показывает ошибку в имени метода, он показывает, что метода нет или не найден :( пожалуйста, помогите мне

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;
    }

}

Это вызывающий класс, ошибка которого показана в строке 3.

    public static void main(String[] args) {
    byte[ ] array = “going to encrypt ”.getByte( );
    byte[ ] arrayEnc = MARS.encrypt(array);
    System.out.println(“plain text: ” + array);
    System.out.println(“Encrypted Text: ”+ arrayEnc);

}
-2
Miss A 14 Мар 2018 в 14:41

2 ответа

Лучший ответ

Определенное вами шифрование принимает 2 параметра открытый статический байт [] шифрование (байт [] в, байт [] ключ) Но вы пытаетесь вызвать его с помощью одного MARS.encrypt (array) .

1
Sukreet Roy Choudhury 14 Мар 2018 в 11:46

Я предполагаю, что ошибка, о которой вы говорите, является ошибкой времени компиляции? Функция encrypt (..) определяется как принимающая два параметра байтового массива: исходные данные и ключ шифрования. В вашем методе main (..) вы передаете только однобайтовый массив - исходные данные. Вам также необходимо передать ключ шифрования.

0
Drewll 14 Мар 2018 в 11:45