Я пробую простой шифр Vigenere, где обычный текст читается из файла и зашифровывается с помощью ключа.Шифрование с использованием шифрования Vigenere, где Plaintext считывается из файла (JAVA)
Key = ABC Cipher текст получается путем добавления между ПТ и ключом
Plain Text: WEWILLATTACKTONIGHT
Ключ: ABCABCABCABCABCABCA
Cipher: WFYIMNAUVADMTPPIHJT
Как может я повторите ключ для длины обычного текста, а затем зашифруйте его, когда он читается.?
вход считывается из файла, используя следующий фрагмент кода
FileInputStream fileInput = new FileInputStream("/Documents/file1.txt");
int r;
int count = 0 ;
//Read each character from the file one by one till EOF
while ((r = fileInput.read()) != -1)
{
char c = (char) r;
//SOMETHING NEEDS TO BE DONE HERE
System.out.print(c);
count ++; //Keeps count of the number of characters in the plain text.
Что вы пробовали? Как бы вы решили это, если бы делали это вручную? – keshlam
Я пытаюсь подойти к нему следующим образом: сохранить обычный текст в массиве по мере его чтения ... сохранить ключ в массиве одинакового размера и выполнить добавление .... –
ОК, так как вы сканируете через открытый текст вам нужно отслеживать, где вы находитесь в ключе, и когда вы снова достигаете начала ключа. Это означает сохранение двух индексов или использование по модулю длины ключа. Попробуйте написать «ЧТО-ТО», посмотрите, что произойдет, и если это неправильно, исправьте это, пока оно не будет правильным. Программирование - это искусство отладки чистого листа бумаги. – keshlam