![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
||||
|
||||
|
Совет: на время оттключите ваш криптоалгол и попробуйте просто считать содержимое файла в файл-поток - если удастся это сделать, то движение можно продолжить
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
alyan (29.05.2014)
| ||
|
#17
|
|||
|
|||
|
Цитата:
Алгорим переписал. отладкой проверил. шифрует правильно. но осталась еще одна проблема. Запись данных в файлы пробую по разному. Например, простой ключ, сгенерированный рандомом ТАК Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:byte; f:file;
begin randomize;
AssignFile(f,'key.txt');
rewrite(f);
for i:=0 to 9 do
begin
k[i]:=random(255);
Blockwrite(f,k[i],1);
Edit1.Text:=edit1.Text+' ';
edit1.Text:=edit1.Text+inttostr(k[i]);
end;
end;
И ВОТ ТАК Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:byte; f:TFileStream;
begin randomize;
f:=TFileStream.Create('key.txt',fmCreate);
f.Position:=0;
for i:=0 to 9 do
begin
k[i]:=random(255);
f.Write(k[i],sizeof(k[i]));
Edit1.Text:=edit1.Text+' ';
edit1.Text:=edit1.Text+inttostr(k[i]);
end;
end;
Но, в обоих случаях когда открываю файлы блокнотом, там какие-то иероглифы. Может с кодировкой чёто надо сделать? |
|
#18
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
vankai14 (29.05.2014)
| ||
|
#19
|
|||
|
|||
|
Цитата:
Ясно, тогда подскажите плиз, другая проблема. я в прогу загружаю файл, шифрую и записываю назадю например, изображение или тхт файл. в итоге файл тоже неадекватный получается после расшифровки Код:
ssignFile(OpenF, Edit3.text);
reset(OpenF,1);
num8:=FileSize(openf) div 8;
ost:=Filesize(OpenF)-num8*8;
if (ost=0) then num8:=num8-1;
for n:=0 to num8 do
for m:=0 to 7 do Blockread(openf,blockin[n,m],1);
if (ost>0) then begin
for m:=0 to (ost-1) do Blockread(openf,blockin[n+1,m],1);
for m:=ost to 7 do Blockread(openf,blockin[n+1,m],1);
end;
CloseFile(OpenF);
потом много перестановок и замен и в конце запись Код:
for cicle:=0 to num8 do
for x:=0 to 7 do BlockWrite(CloseF,blockout[cicle,x],1);
CloseFile(CloseF);
я так понимаю, что я неправильно записываю данные? |
|
#20
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
vankai14 (29.05.2014)
| ||
|
#21
|
|||
|
|||
|
Цитата:
а как правильно записывать? Последний раз редактировалось vankai14, 29.05.2014 в 10:39. |
|
#22
|
||||
|
||||
|
Цитата:
|