Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Файлы/Шифровка


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`ами, но как с ними работать
> я совсем не знаю


а базы данных-то тут причем ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо