Текущий архив: 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.5 MB
Время: 0.047 c