Второй вариант был просто скопирован из интернета по первой ссылке.
И наконец третий, финальный, изменил код из интернета, теперь хоть первые 5 минут непонятно что он скопирован.
Само шифрование реализовано плохо. Есть потери текста при расшифровании, вплоть до того что остается всего 2 последних символа.
Ввод данных должен был быть реализован двумя способами: с клавиатуры и из файла. В итоге реализован ввод только из файла и как я написал выше с большими потерями.
Обращаться на свой страх и риск.