Главная страница
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.051 c
3-1145602125
daimyo
2006-04-21 10:48
2006.06.18
DBGrid получение имени колонки


15-1148261306
GoreStudent
2006-05-22 05:28
2006.06.18
access


15-1148393861
vidiv
2006-05-23 18:17
2006.06.18
Сложно ли сделать простую TPanel с простыми "системными" скролами


2-1149139066
Hadroran
2006-06-01 09:17
2006.06.18
Вызов процедуры события


2-1149072620
adalx
2006-05-31 14:50
2006.06.18
Помогите новичку