![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Мне поручили написать электронный учебник на делфи. И у меня возник вопрос о том как спрятать информацию от глаз? То есть конечно можно все в архив запоролить,но это как то не ок.
Может использовать пакеты или еще что? Материал учебника представлен в виде .txt и .html файлов. Я не силен в этих вопросах поэтому пришел сюда. У кого какие советы или статьи буду рад помощи. Заранее спасибо. |
|
#2
|
||||
|
||||
|
Xorом закриптовать в ресурсе.
|
|
#3
|
|||
|
|||
|
Не надо прятать то, что не нужно прятать. Максимум - затруднить простое чтение, для чего достаточно просто сохранить все в один файл (поток). А вот если там есть тесты, то их надо спрятать, точнее надо спрятать правильные ответы.
|
|
#4
|
||||
|
||||
|
Да я и сам не собирался нечего прятать,хотел тесты зашифровать,ибо ключ к тестам там же,да и что бы не смотрели вопросы. Но мне сказали что надо всё спрятать так что вот теперь сижу и думаю как и куда.
|
|
#5
|
|||
|
|||
|
Как тут уже писали - все гениальное просто.
Просто запакуй файлы с помощью zlib. Начиная с Delphi 6, в поставке есть готовые потоки с поддержкой сжатия. Т.е. тебе нужна будет спец утилитка для подготовки файлов (сжатия их). а читать надо через соотв. поток. Я делаю вот так: Код:
procedure TModelBase.BackupToFile(AFileName: String);
var
AStream : TFileStream;
AZLib : TCompressionStream;
begin
AStream := TFileStream.Create(AFileName,fmCreate);
AZLib := TCompressionStream.Create(clMax,AStream);
Try
SaveToStream(AZLib);
Finally
AZLib.Free;
AStream.Free;
End;
end;
procedure TModelBase.RestoreFromFile(AFileName: String);
var
AZLib : TDecompressionStream;
AStream : TFileStream;
begin
AStream := TFileStream.Create(AFileName,fmOpenRead);
AZLib := TDecompressionStream.Create(AStream);
Try
LoadFromStream(AZLib);
Finally
AZLib.Free;
AStream.Free;
End;
end;Методы LoadFromStream и SaveToStream внутри работают с обычным потоком (TStream). |
|
#6
|
||||
|
||||
|
Лирическое отступление
Во времена учебы в колледже, у нас были электронные учебники, работающие в браузере, так вот, там была защита от копипаста, а обходилась она простым сохранением текущей страницы в текстовый файл. |