Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

Шифрование файлов   Найти похожие ветки 

 
alec_sey   (2006-05-30 12:30) [0]

Помогите
нужно считать блок
затем каждый I-й елемент блока xorom сопоставить с введённым I-м елементом числовой строки и записть его. числовая строка может быть разной длинны поэтому нужно исп дин массивы а не очень умею, Конечно извените я уже задавал подобный вопрос но не понял, может
у кого есть код или ссылка, буду благодарен


 
Сергей М. ©   (2006-05-30 12:46) [1]

Что за "числовая строка" ?

Приведи пример ..


 
alec_sey   (2006-05-30 12:52) [2]

к примеру считал блок "10011001" , ввёл в мемо "12345678"  присвоил
целочисленному  массиву то что в мемо, и каждый елемент блока "10011001" циклом прогнал ксором c "12345678" и записал блок в другой файл.


 
Сергей М. ©   (2006-05-30 12:55) [3]

Т.е. размер каждого очередного считываемого блока должен соответствовать длине "числовой строки", я правильно понял ?


 
alec_sey   (2006-05-30 12:57) [4]

Да


 
alec_sey   (2006-05-30 12:59) [5]

Т е не очредного а раз ввели определённой длинны о посколько чтитывает
каждый блок


 
Сергей М. ©   (2006-05-30 14:06) [6]

var
sfs, dfs: TFilestream;
KeyLen, BlockLen, i: Integer;
StrKey: String;
Block, BinKey: PByteArray;

..
StrKey := Memo.Lines[0];
KeyLen := Length(StrKey);
GetMem(BinKey, KeyLen);
try
  for i := 0 to KeyLen - 1 do
    BinKey[i] := StrToInt(StrKey[i+1]);
  GetMem(Block, KeyLen);
  try
    sfs := TFilestream.Create("SourceFile.dat", fmOpenRead);
    try
      dfs := TFilestream.Create("ResultFile.dat", fmCreate);
      try
        while sfs.Position < sfs.Size do begin
          BlockLen := sfs.Read(Block^, KeyLen);
          for i := 0 to BlockLen - 1 do
            Block[i] := Block[i] xor BinKey[i];
          dfs.WriteBuffer(Block^, BlockLen);
        end;
      finally
        dfs.Free;
      end;
    finally
      sfs.Free;
    end;
  finally
    FreeMem(BinKey);
  end;
finally
  FreeMem(Block);
end;


 
alec_sey   (2006-05-30 14:10) [7]

Cпасибо большое щас попробую



Страницы: 1 вся ветка

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
3-1145891342
linx
2006-04-24 19:09
2006.06.18
Запретить чтение ячейки данных в таблице


3-1145617005
Экспериментатор
2006-04-21 14:56
2006.06.18
Есть Query с запросом, научите как получить значение REGS.TypeReg


2-1149080044
Серге И
2006-05-31 16:54
2006.06.18
Приветствую вас гении программирования!!! Меня интересует темпера


1-1147332028
leonidus
2006-05-11 11:20
2006.06.18
Как отображать в TLabel русский, испанский и английский текст?


1-1146852576
CMOS
2006-05-05 22:09
2006.06.18
application.ProcessMessages