#java #arrays #byte
#java #массивы #байт
Вопрос:
Мне нужно закодировать шифратор шифра подстановки. Однако я не могу понять, как создать алфавит из ключа доступа, чтобы он соответствовал обычному алфавиту, чтобы сгенерировать мое зашифрованное сообщение
Это должно дать что-то вроде так
String passphrase = "mobile";
byte[] expected = {'m', 'o', 'b', 'i', 'l', 'e', 'a', 'c', 'd', 'f' ...};
Как я мог бы закодировать функцию, которая возвращает ожидаемый алфавит?
Ответ №1:
Кстати, вы действительно должны использовать char
массив. Если вам действительно не нужен массив символов, просто преобразуйте все в byte.
static char[] generateExpected(String passphrase) {
char[] expected = new char[passphrase.length() 26];
passphrase.getChars(0, passphrase.length(), expected, 0);
for (int i = 0; i < 26; i ) {
expected[i passphrase.length()] = (char) ('a' i);
}
return expected;
}
Комментарии:
1. К сожалению, ради программы мне нужно использовать байты. И дело в том, что мне нужно заменить фразу-пароль из фактического алфавита. Таким образом, ожидаемый алфавит по-прежнему имеет размер 26. Например, если парольная фраза ‘xyz’, ожидаемый результат должен быть ‘xyzabcdefghijklmnopqrstuvw’