метод, который я пытаюсь вызвать, - это метод шифрования из этого класса но когда я пытаюсь вызвать его в классе вызова, он показывает ошибку в имени метода, он показывает, что метод отсутствует или не найден :( пожалуйста, помогите мне
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);
}
см. эту строчку .. 1) bloc = encryptBloc (bloc); нет метода. 2) K = expandKey (ключ) K не изменяется. 3) Метод expandKey (byte []) не определен для
это только часть кода. это метод, который я пытаюсь вызвать, может получить доступ к другим методам, которые являются encryptBloc (bloc); K = expandKey (ключ)




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