Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.053 c
2-1157466033
DeMiUrG
2006-09-05 18:20
2006.09.24
ошибка при работе с Excel


15-1157572013
Yegorchic
2006-09-06 23:46
2006.09.24
Помогите найти стих


2-1157350865
vegarulez
2006-09-04 10:21
2006.09.24
По поводу фискальных регистраторов.


15-1157471193
Мефисто
2006-09-05 19:46
2006.09.24
Да, да. Провокация и баталии :) Amway - че за зверь?


15-1157100888
Dbn
2006-09-01 12:54
2006.09.24
С праздником, друзья!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский