Pascal: Работа с файлами + немного криптографии.
2 процедуры:
1- Шифровка:берет исходный текст из файла A шифрует и записывает в файл B
2 -Дешифровка: берет исходный файл B расшифровывает и записывает в файл C;
Код:
procedure Crypts(var T,G:text); //Ссылаемся на 2 текстовых файла
var S:string; i:integer;
begin
reset(t); //открываем для чтения Файл T
while not Eof(T) do
begin
readln(t,s); //Присваеваем строке S строку текстового файла T
for i:=0 to length(s) do
begin
ord(s[i]):=ord(s[i])+Ckey;
{после прибавления ключа проверяем не ушел ли за границы ASCII}
if ord(s[i])>256 then ord(s[i]):=ord(s[i])-256+32;
{+32 так как первые 32 цифры - управляющие символы ASCII}
end;
writeln(G,S); //впиываем в файл G строку S
end;
close(t);
end;
Procedure Uncrypts(var G,Y:text);
var S:string; i:integer;
begin
reset(g);
while not Eof(g) do
begin
readln(g,s);
for i:=0 to length(s) do
begin
ord(s[i]):=ord(s[i])-3;
if ord(s[i])<32 then ord(s[i]):=ord(s[i])+256-32;
end;
writeln(Y,S);
end;
close(G);
end;
Шифрует нормально, но все равно добавляет лишние символы
из True получается - Wuxhvvv
из I - Luxh откуда берутся эти лишние символы???
При дешифрации сначала вылетали непонятно почему ошибки потом
вроде стало дешифроваться но в файле дешифровке например
получилось не обратно I а-
Код:
Truessssэээ ЊюAB xюA . ёШ_ ёШ_ | аюAF?u` Ђ @ дюAТV@ · дЧ^дЧ^ъС^иЧ^дM@ 0 tѓ@ vA@ p`@ tѓ@ А¦@ §@ ,яAТV@ · tѓ@ <яAТV@ D