Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
Костик плиз
11 / 11 / 0
Регистрация: 26.10.2013
Сообщений: 84
#1

Шифр Цезаря - хранение ключа в файле - Pascal ABC

14.02.2016, 18:58. Просмотров 182. Ответов 0
Метки нет (Все метки)

пример простенькой программы на Free Pascal, которая шифрует либо дешифрует шифром Цезаря.
Не могли бы вы помочь. Могли бы переделать программу так, чтобы ключ, исходный текст сообщ, шифрованный и дешифрованный сообщ хранились в виде файлов. Например программа берет ключ который хранится в отдельном файле и исходный текст который хранится тоже в отдельном файле и шифрует сохраняя шифрованный текст в отдельном файле. ну и для дешифрации также. Пользователь должен запустить программу через командную строку. Вводя параметры например
proga.exe -e tets.txt output.txt key.txt, где proga.exe наша программа, test.txt исходный текст который необходимо зашифровать output.txt уже зашифрованное сообщ, key.txt ключ который нужен для шифрования. Очень надеюсь на вашу помощь. Если что-то не ясно пишите в комментах я скажу.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
program caesar1;
{ шифрование сообщения методом Цезаря }
const
  sym = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ '+
        'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'+
        '01234567890.';
 
var
  s0,s1: string;
  key:integer;
procedure Encrypt(s: string;k: integer;var es:string);
var
  l,ll,i,p: integer;
  c:char;
begin
  l:=length(s); ll:=length(sym);
  es:=s;
  for i:=1 to l do begin
    c:=s[i];
    p:=pos(c,sym); p:=p+k;
    if p>ll then p:=p-ll;
    es[i]:=sym[p];
  end;
end;
procedure Decrypt(s:string;k:integer;var ds:string);
var
  l,ll,i,p:integer;
  c: char;
begin
  L:=length(s); ll:=length(sym);
  k:=1;
  ds:=s;
  for i:=1 to l do begin
    c:=s[i];
    p:=pos(c,sym)-k; if p<=0 then p:=p+ll;
    ds[i]:=sym[p];
  end;
end;
begin
  write('Введите сообщение: '); readln(s0);
  write('введите ключ: '); readln(key);
  if key>0 then Encrypt(s0,key,s1)
  else Decrypt(s0,-key,s1);
  writeln(s1);
  readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2016, 18:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Шифр Цезаря - хранение ключа в файле (Pascal ABC):

Шифр Цезаря - Pascal ABC
Доброго времени суток! Помогите, пожалуйста, написать программу. Пересмотрела здесь на сайте множество интерпретаций, но все они очень...

Шифр Цезаря - Pascal ABC
Напишите программу Шифр цезаря учитывая Ё и пробел

Шифр Цезаря - Pascal ABC
Ребят помогите написать программу,которая будет шифровать и дешифровать методом Цезаря на английском языке.

Шифр Цезаря - Pascal ABC
Доброго времени суток! Подскажите пожалуйста! Написать программу, которая выполняет шифрование строки с помощью шифра Цезаря. ...

Шифр Цезаря - Pascal ABC
Месяц программирую на Pascal ABC недавно решил сделать программу по шифру Цезаря(если не знаете что это, то вот ссылка:...

Шифр Цезаря - Pascal ABC
Помогите написать программу, которая шифрует файл input.txt и помещает результат в файл output.txt используя шифр Цезаря. Добавлено...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2016, 18:58
Привет! Вот еще темы с ответами:

Шифр Цезаря - прокомментировать код - Pascal ABC
Здравствуйте. Программа у меня есть. Мб кто может закоментить что конкретно происходит в строках 14 и 15. var a,b,c:string; ...

Шифр Цезаря - Pascal
помогите нужно сделать прогу шифратор и дешифратор методом Цецаря

Шифр Цезаря - Pascal
Помогите написать программку, которая будет зашифровывать методом диска шифра Цезаря, т.е. нужно задать исходный текст, количество знаков...

Шифр цезаря (не работает) - Pascal
задача такая сделать шифр цезаря, сдвиг 10, алфавит лат строчные буквы, язык паскаль (тр7) вот накидал но комп выдает ошибку ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru