Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Костик плиз
11 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 84
#1

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

14.02.2016, 18:58. Просмотров 191. Ответов 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
Ответы с готовыми решениями:

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

Шифр Цезаря
Месяц программирую на Pascal ABC недавно решил сделать программу по шифру...

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

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

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

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

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

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

Шифр Цезаря - прокомментировать код
Здравствуйте. Программа у меня есть. Мб кто может закоментить что конкретно...


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

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

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