Стеганография - скрывать, а затем извлекать любой файл внутри текстового файла - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Нужно написать программу, которая позволяет скрывать, а затем извлекать любой файл внутри текстового файла. Задаем файл: первый - куда надо прятать, второй - который надо прятать, третий - где будет результат. Если очередной скрываемый бит файла равен 1, то в конец очередной строки текстового файла добавляем пробел. Если равен 0, то ничего не добавляем. и наоборот - расшифровать файл Так как же зашифровать и расшифровать файл? Есть примерно такая процедура для того, чтобы зашифровать:
procedure Encode(S: String);
var T1 : Text; 
     I, J : Integer;
begin
   assign(T1, "text.txt");
   assign(T2, "code.txt");
   reset(T1);rewrite(T2);
   for I := 1 to Length(S)*8 do
     if not Eof(T1) then
       begin
          readln(T1, S1);
          while S1[lengh(S1)] = " " do
            delete(S1, lengh(S1), 1);
          J :=  1 shl (I mod 8);
          if ord(S[I div 8]) and J <>  0 then
            S1 := S1 + ' ';
          writeln(T2,S1);
       end
     else
       begin 
          break;
          writeln("Small input file");
       end;
   close(T1);close(T2);
end;
 
А расшифровать:
 
procedure Decode(var S: String);
var T1, T2 : Text; 
     I, J : Integer;
begin
   assign(T1, "code.txt");
   reset(T1);
   J := 0; I := 0; S := "";
   if not Eof(T1) then
     begin
        readln(T1, S1);
        if S1[Length(S1)] = " " then
          J :=  J shr 1 + 128
         else
          J := J shr 1;
        inc(I);
        If I mod 8 = 0 then
          begin
             S := S + chr(J);
             J := 0;
          end; 
     end;
   close(T1);
end;
Но как всё это реализовать не понимаю.

Решение задачи: «Стеганография - скрывать, а затем извлекать любой файл внутри текстового файла»

textual
Листинг программы
<количество кодируемых символов> *8?

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы