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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
| program a1;
uses crt;
var k, pathf, pathf1, pathf3: string;
a, r: char;
m, n, s, deistvie, i: integer;
f: Text;
f1: Text;
f3: Text;
begin
clrscr;
writeln ('Введите ключ');
readln (k);
m:=length (k);
n:=256;
writeln ('Укажите, что нужно сделать: 1 - Шифрование; 2 - Дешифрование; 3 - Шифрование + Дешифрование');
readln(deistvie);
case deistvie of
1: begin
writeln('Введите путь к файлу, который хотите зашифровать(Файл должен существовать)');
readln(pathf);
if pathf='' then begin writeln('Вы ввели не правильный путь к файлу, введите имя файла в формате: ima_faila.txt');readln(pathf);end;
writeln('Введите путь к файлу, куда хотите сохранить результат шифрования');
readln(pathf1);
while pathf1='' do begin writeln('Не правильно задан путь к файлу, введите имя файла в формате: ima_faila.txt');readln(pathf1);end;
assign (f,pathf);
assign (f1,pathf1);
reset (f);
rewrite (f1);
i:=1;
while (not eof(f)) do
begin
read (f, a);
s:=(ord(a)+ord(k[i])) mod n;
r:=chr(s);
write(f1, r);
i:=i+1;
if (i>m) then i:=1;
end;
close (f);
close (f1);
writeln;
writeln('Шифрование завершено, результат смотри в файлах');
end;
2: begin
writeln('Введите путь к зашифрованому файлу, (файл должен существовать)');
readln(pathf1);
if pathf1='' then begin writeln('неправильно задан путь, введите путь в формате: ima_faila.txt');readln(pathf1);end;
writeln('Введите путь файла, куда хотите сохранить результат ');
readln(pathf3);
while pathf3='' do begin writeln('Не правильно задан путь к файлу, введите имя файла в формате: ima_faila.txt');readln(pathf3);end;
assign (f1,pathf1);
assign (f3,pathf3);
reset (f1);
rewrite (f3);
i:=1;
while (not eof(f1)) do
begin
read (f1, a);
s:=(ord(a)-ord(k[i])+n) mod n;
r:=chr(s);
write(f3, r);
i:=i+1;
if (i>m) then i:=1;
end;
close (f1);
close (f3);
writeln;
writeln('Дешифрование завершено, результат смотри в файлах');
end;
3: begin
writeln('Введите путь к файлу, который хотите зашифровать (файл должен существовать)');
readln(pathf);
if pathf='' then begin writeln('Не правильно задан путь к файлу, введите имя файла в формате: ima_faila.txt');readln(pathf);end;
writeln('Введите путь к файлу, куда хотите сохранить результаты шифрования, а затем дешифровать его');
readln(pathf1);
while pathf1='' do begin writeln('Не правильно задан путь к файлу, введите имя файла в формате: ima_faila.txt');readln(pathf1);end;
writeln('Введите путь куда хотите сохранить результат');
readln(pathf3);
while pathf3='' do begin writeln('Не правильно задан путь к файлу, введите имя файла в формате: ima_faila.txt');readln(pathf3);end;
assign (f,pathf);
assign (f1,pathf1);
reset (f);
rewrite (f1);
i:=1;
while (not eof(f)) do
begin
read (f, a);
s:=(ord(a)+ord(k[i])) mod n;
r:=chr(s);
write(f1, r);
i:=i+1;
if (i>m) then i:=1;
end;
close (f);
close (f1);
assign (f1,pathf1);
assign (f3,pathf3);
reset (f1);
rewrite (f3);
i:=1;
while (not eof(f1)) do
begin
read (f1, a);
s:=(ord(a)-ord(k[i])+n) mod n;
r:=chr(s);
write(f3, r);
i:=i+1;
if (i>m) then i:=1;
end;
close (f1);
close (f3);
writeln;
writeln('Шифрование и дешифрование завершено, смотри результат в файлах');
end;
end;
readkey;
end. |