![]() |
|
|
Регистрация | << Правила форума >> | 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
|
||||
|
||||
![]() Цитата:
|