Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Сохранение настроек приложения в файле.   Найти похожие ветки 

 
pathfinder   (2006-09-04 19:31) [0]

Добрый вечер. Уважаемые участники форума, подскажите пожалуйста, как наиболее грамотно решить следущую задачу: необходимо сохранять настройки приложения в файле который имел бы формат недоступный для пользователя.
Ини файл в данном случае отпадает, да и реестр пожалуй тоже.


 
Джо ©   (2006-09-04 19:32) [1]

А чем вызвана эта необходимость, разрешите поинтересоваться?


 
Джо ©   (2006-09-04 19:34) [2]

+ что значит, все-таки, "формат недоступный для пользователя"?


 
pathfinder   (2006-09-04 19:45) [3]

Эта необходимость вызвана тем, что доступом к настройкам должны обладать не все пользователи. "Формат недоступный для пользователя" - "нечитабельный" файл, по карйней мере обычными средствами просмотра файлов. Вот:)


 
DprYg ©   (2006-09-04 19:54) [4]

Самое простое - xor


 
Джо ©   (2006-09-04 19:55) [5]

> [3] pathfinder   (04.09.06 19:45)
> Эта необходимость вызвана тем, что доступом к настройкам
> должны обладать не все пользователи. "Формат недоступный
> для пользователя" - "нечитабельный" файл, по карйней мере
> обычными средствами просмотра файлов. Вот:)

TFileStream, будет писать в бинарном формате. Или же BlockWrite, по желанию.


 
palva ©   (2006-09-04 20:20) [6]

А разве бинарный формат нечитаем? Его можно открыть в блокноте, например.


 
pathfinder   (2006-09-04 20:22) [7]


> DprYg ©   (04.09.06 19:54) [4]
> Самое простое - xor


Это как?


 
C@N ©   (2006-09-04 20:34) [8]

Шифровать инишки;) или придумать свой класс и его писать в файл )))


 
Palladin ©   (2006-09-04 20:39) [9]


> [7] pathfinder  

это такие магические буквы, что

((7 xor 5) xor 5)=7


 
Anatoly Podgoretsky ©   (2006-09-04 21:05) [10]

который имел бы формат недоступный для пользователя.

Таких не существует.


 
pathfinder   (2006-09-04 21:08) [11]

>Anatoly Podgoretsky ©   (04.09.06 21:05) [10]
>который имел бы формат недоступный для пользователя.
>
>Таких не существует.

Маленькая поправочка - "недоступный для понимания пользователя".


 
Anatoly Podgoretsky ©   (2006-09-04 21:12) [12]

Таких пользователей не существует.
Что построил один человек, другой за всегда сломает.


 
pathfinder   (2006-09-04 21:15) [13]

>Palladin ©   (04.09.06 20:39) [9]
>> [7] pathfinder  
>это такие магические буквы, что
>((7 xor 5) xor 5)=7

что-то мне подсказывает, что эти магические буквы можно использовать для шифрования инишника..а Вы не могли бы привести более подробный примерчик? Допустим у нас есть инишник
[USER]
Parameter1=X
..


 
pathfinder   (2006-09-04 21:16) [14]

>Anatoly Podgoretsky ©   (04.09.06 21:12) [12]
>Таких пользователей не существует.
>Что построил один человек, другой за всегда сломает.

Поправка №2 - "недоступный для понимания среднестатистического пользователя".


 
Virgo_Style ©   (2006-09-04 21:20) [15]

сферического, в вакууме.

Среднестатистический пользователь ini-файл не откроет, у него такой программы нет.


 
Loginov Dmitry ©   (2006-09-04 21:24) [16]

[13]

Допустим, перед записью строки в инишку, шифруй ее xor-ом. Алгоритм очень простой:

for I := 1 to Length(S) do
 S[I] := Ord(S[I]) xor $FF

При чтении из ини используй точно такой же код.

Можно так еще:

for I := 1 to Length(S1) do
 S2[I] := IntToHex(Ord(S1[I]), 2);

Вариантов - масса.


 
Loginov Dmitry ©   (2006-09-04 21:25) [17]

В [16] есть ошибки. Найдешь - ты хакер

;))


 
pathfinder   (2006-09-04 21:26) [18]

>Virgo_Style ©   (04.09.06 21:20) [15]
>сферического, в вакууме.
> Среднестатистический пользователь ini-файл не откроет, у него такой >программы нет.

Наверное Вы правы. Но тем не менее хочется разобраться как это сделать. Думаю, что с помощью этого форума это получится:)


 
Anatoly Podgoretsky ©   (2006-09-04 21:47) [19]

pathfinder   (04.09.06 21:16) [14]
Поправка №2 - "недоступный для понимания среднестатистического пользователя".

Ломать не строить


 
pathfinder   (2006-09-04 22:59) [20]

Полдела вроде сделал:
  for i := 1 to Length(S1) do
   begin
    S:=inttostr(ord(S1[i]) xor $FF);
    S2:=S2+S;
   end;

Только как теперь это расшифровать?


 
Loginov Dmitry ©   (2006-09-04 23:01) [21]

> pathfinder   (04.09.06 22:59) [20]


Все в кучу ;))


 
Palladin ©   (2006-09-04 23:42) [22]


> [20] pathfinder  

ну поразмысли над [9]


 
pathfinder   (2006-09-05 00:02) [23]

Методом проб и ошибок пришел примерно к такому:

function TForm1.CoDec(Value : string): string;
var S_In,
   S_Out,
   S_Itm :string;
   i:integer;
begin
S_In:=Value;
 for i:=1 to Length(S_In) do
  begin
   S_Itm:=Chr(Ord(S_In[i]) xor Ord("A"));
   S_Out:=S_Out+S_Itm;
  end;
 Result:=S_Out;
end;

Вроде даже работает:)


 
pathfinder   (2006-09-05 00:20) [24]

Спасибо Всем за помощь!



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.028 c
4-1148130409
sicilla
2006-05-20 17:06
2006.09.24
Запись в FAT32


2-1157526926
чаки
2006-09-06 11:15
2006.09.24
TRichEdit, загрузка rtf текста


1-1155045210
Kiloper
2006-08-08 17:53
2006.09.24
Есть ли аналог компонентов MEMO или RichEdit в delphi?


15-1156947353
Pazitron_Brain
2006-08-30 18:15
2006.09.24
Посоветуйте бесплатный хостинг


15-1157458102
DillerXX
2006-09-05 16:08
2006.09.24
Помогите с выбором: 1 курс, идти ли на переводчика?