.piero |
Отправлено: 25.06.2004, 13:47 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
Нужно сохранить файлик с настройками, допустим *.ini, в такой вид, чтоб его тяжко было прочитать без присутствия проги, но и чтобы читался и писался он этой прогой. Вот так. Осталось только код написать... Спасибо.
|
|
** guest |
Отправлено: 25.06.2004, 14:04 |
|
Не зарегистрирован
|
Так и пишите. Кто же лучше вас знает как вы его будете шифровать. |
|
PeroManiak |
Отправлено: 02.07.2004, 02:08 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
...:::XOR:::...
Старый добрый ХОР.
CODE |
AnsiString Crypt(AnsiString in, AnsiString pass)
{
AnsiString out;
for (int x=1;x<in.Length()+1;x++)
{
out += (char)(in[x] ^ pass[x%pass.Length()+1]);
}
return out;
}
|
CODE |
TIniFile *iniptr=new TIniFile (в хелпе посмотри);
iniptr->WriteString ("Хрень", "Ее тип", Crypt ("БлаБлаБла", "СуПеР ПаРоЛь, До КоТоРоГо НиКтО Не ДоГаДаЕтСя"));
|
|
|
AVC |
Отправлено: 02.07.2004, 09:05 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Чистый xor самый худший выбор. Не выдерживает маломальски серьезной атаки. Получится защита от дурака или не очень настырного пользователя. На некоторых зашифрованная информация действует как красная тряпка на быка. Лучше ставить более серьезное шифрование или не ставить вообще. Постулат: стоимость защиты не должна превосходить стоимости защищаемого объекта. |
|
Gedeon |
Отправлено: 02.07.2004, 12:35 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
QUOTE (AVC @ 02/07/2004, 10:07) | Чистый xor самый худший выбор. Не выдерживает маломальски серьезной атаки. Получится защита от дурака или не очень настырного пользователя. На некоторых зашифрованная информация действует как красная тряпка на быка. Лучше ставить более серьезное шифрование или не ставить вообще. Постулат: стоимость защиты не должна превосходить стоимости защищаемого объекта. |
Тут хочу полностью поддержать AVC, ведь на самом деле иногда какое-то шифрование именно и вызывает желание чего-то расшифровать . Если юхер изменил какие-то настройки на неправильные, на мой взгляд его личная проблема, если прога для работы то ложить файл туда, где он просто не сможет его изменить.
|
|
PeroManiak |
Отправлено: 02.07.2004, 13:07 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
Ну, люди, и пар'ажаюсьь... Согласен, чистый хор — худший выбор, но это типа как пример, а вообще есть и CRC32, могу исходник выложить, если кому надо.
|
|
AVC |
Отправлено: 02.07.2004, 13:44 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
GnuPG |
|
Samual |
Отправлено: 03.07.2004, 22:40 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 39
|
Ксорить с ключем — конечно глупость. Но можно же ксорить и без ключа, сам файл при помощи ксора можно очень красиво искарячить.
Пусть он станет в 4-ре раза больше, но помудится придется. |
|
PeroManiak |
Отправлено: 04.07.2004, 00:39 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
Ну и толку-то? Захоренный файл-то этот кому дался? Хоть взять этот параметр — все равно, мне не понятно. Что преследует .piero мне не известно. По крайней мере у меня, когда я увижу абракадабру вместо значения в поле, сразу возникает желание что-то изменить:).
QUOTE |
Но можно же ксорить и без ключа, сам файл при помощи ксора можно очень красиво искарячить.
|
МОЖНО! Только тебе сначало НУЖНО будет заксоренный файл расксорить в темп, где он прочитается:). — задача: читать из INI — как ты ini->ReadInteger прочитаешь эту абракадабру?
Можно вообще полнейший изврат придумать: Ксорить сначала параметр одним паролем, а потом и весь файл, но только уже с другим.
ЗЫ. Защищать настройки, с моей точки зрения, глупо: юзер накрутил — пусть сам и расхлебывает!
Отредактировано PeroManiak — 04/07/2004, 02:04
|
|
PeroManiak |
Отправлено: 04.07.2004, 00:59 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
Уупс.. Не правильно понял Execusяюсь
Но все равно моя твоя не понимай:
QUOTE |
Ксорить с ключем — конечно глупость.
|
CODE |
out += (char)(in[x] ^ pass[x%pass.Length()+1]);
|
Угадай, чему будет равно i, когда i=pass.Length(); ??? — как ты сказал без ключа.
А целочисленное деление — это все равно деление. Потом, надо понимать, что без ключа, грош цена этому заксоренному файлу.
Если я ошибаюсь, поправьте.
|
|