![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Файлы/Шифровка
markers © (2005-03-09 13:51:00)Ещё раз здрасте!
Переделываю свою систему шифрования файлов на новый более надёжный метод и возник такой вопрос, объясняю задачу.
Имею зашифрованный файл мне уго необходимо расшифровать Тем компонентом которым я пользуюсь (BlowFish от TurboPower) может из одного защифрованного файла сделать другой расшифрованный, но я хочу чтоб была выше безопастность и надёжность вообще, чтобы не сохранять файл а работать далее с ним в памяти. Этот компонент позволяет работать со Streem`ами, но как с ними работать я совсем не знаю, подскажите плиз.... Или может есть другой выход?
PS То, что в памяти тоже можно подправить и подсмотреть я вкурсе.
markers (2005-03-10 14:44:00) [1]Спасибо;)
Примерно этого ответа я и ждал;)
Zeqfreed (2005-03-09 19:55:00) [2]markers © (09.03.05 16:35) [13]
Есть две процедуры расшифровки это шифрованный файл > расшифрованный файл и Стрим то стрим.
Что мешает загрузить файл в TStream и расшифровать его?
Примерно так:
procedure EncodeStream(const s,d : TMemoryStream);
begin
d.LoadFromStream(s);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Src, Dst : TMemoryStream;
begin
Src := TMemoryStream.Create();
Dst := TMemoryStream.Create();
try
Src.LoadFromFile('C:\test.txt');
EncodeStream(Src, Dst); //Заглушка
Memo1.Lines.LoadFromStream(Dst);
finally
Src.Destroy;
Dst.Destroy;
end;
end;
EncodeStream - это ф-ция из BlowFish, которая расшифровывает стрим в стрим.
markers (2005-03-09 17:14:00) [3]Хотя я понимаю что всё это будет в памяти, но не на долго;)
markers (2005-03-09 17:13:00) [4]угу, а потом перегнать строки из стрима в ТстрингЛист и потом MemIni.SetStrings и читать дальше как всегда;)
DiamondShark (2005-03-09 17:11:00) [5]Расшифровывать в память?
markers (2005-03-09 16:42:00) [6]Как можно извлечь строки из Стрима?
markers (2005-03-09 16:39:00) [7]Почему я хочу обойтись без записи расшифрованного файла?
1) Безопастность (Хотя данный повод весьма маловероятен если сразу прочетать и снести);
2) Программа будет работать по сети и вообще, нужно исключить запись на диск (Если только чтение доступно).
Хотя конечно есть идея сохранять в %TempDirectory%, читать, а потом удалять...
markers (2005-03-09 16:35:00) [8]Вообщем ещё раз вопрос:
Имею INI файл, защифрованный BlowFish.
Вопрос как мне расшифровать данный файл минуя его сохранение на винт в расшифрованном виде?
Есть две процедуры расшифровки это шифрованный файл > расшифрованный файл и Стрим то стрим.
DiamondShark (2005-03-09 15:06:00) [9]Дзенская ветка...
markers (2005-03-09 15:01:00) [10]в конструкторе креате ничего полезного
Anatoly Podgoretsky (2005-03-09 14:54:00) [11]Спроси у Digitman, а я взял у него.
markers (2005-03-09 14:52:00) [12]Между прочим я ничего про базу не писал, с чего вы взяли?
markers (2005-03-09 14:47:00) [13]Если я его просто прочитаю TMemIni то он от этого более расщифрованным не станет.
О! Идея, а если это дело привязать в обработчике он креат у мемини? Тоесть сделать свой компонент прекрывающий конструктор скеате?
Подскажите плиз?
Anatoly Podgoretsky (2005-03-09 14:46:00) [14]Смотрим Digitman © (09.03.05 13:58) [1]
markers (2005-03-09 14:45:00) [15]Объясняю....
У меня на винте лежит защифрованный инишник мне его нужно расшифровать в память и работать там с ним.. Как работать это и так понятно, вопрос в том как мне таксказать перевести его туда чтоб с ним можно было работать.
Anatoly Podgoretsky (2005-03-09 14:38:00) [16]А зачем базу привязывать к TMemIni, она и так уже будет у тебя в памяти.
markers (2005-03-09 14:31:00) [17]У меня появилось подозрение, что это всё дохлый номер из-за того, как привязать потом к TMemIni
Anatoly Podgoretsky (2005-03-09 14:23:00) [18]Digitman © (09.03.05 13:58) [1]
При том, что из использование сразу отвечает поставленной цели. А вот вопрос зачем?
markers (2005-03-09 14:01:00) [19]Всмысле?
Digitman (2005-03-09 13:58:00) [20]
> позволяет работать со Streem`ами, но как с ними работать
> я совсем не знаю
а базы данных-то тут причем ?