Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2007, 12:34   #1
rasvik
Новичок
Джуниор
 
Регистрация: 18.12.2006
Сообщений: 2
Вопрос Закрытие доступа к файлу

Помогите, плиз, я хочу написать тест, где надо вводить имя, фамилию и класс ученика, всё это и общий процент знаний должны скидываться в определённый файл. Как сделать так, чтоб умный ученик не смог этот файл открыть и изменить.
rasvik вне форума Ответить с цитированием
Старый 17.04.2007, 12:36   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

никак. Шифруйте информацию в файле, либо используйте типизированный файл, либо используйте базу данных
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 17.04.2007, 19:21   #3
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Насколько я помню себя в школе, то от меня бы это не спасло. =)
Но можно сделать тупейшим образом. Например, инвертировать каждый байт отдельно с помощью xor. От 99% школьников это спасёт.

PS пишу навскидку, этот код не проверен, просто от балды

var inf, outf: file;
buf: pointer;
readed, writed: integer; // если Паскаль, то word
begin
getmem(buf, 64000);
assign(inf, 'почтиготовыйкласс');
assign(outf, '10ненавижукласс');
reset(inf, 1);
reset(outf, 1);
// здесь и далее пропущены проверки на вшивость
repeat
blockreaded(inf, buf^, 64000, readed);
// если Паскаль, то asm по-другому
asm
push esi
push edi
mov ecx, readed
mov esi, buf
mov edi, buf
// можно в несколько раз быстрее, но так понятнее
@mainloop:
lodsb
xor al, $F0 // собсна инвертация
stosb
loop @mainloop
pop edi
pop esi
end;
blockwrite(outf, buf^, readed, writed);
until readed=0;
freemem(buf, 64000);
end;

Последний раз редактировалось SteelRat; 17.04.2007 в 19:33.
SteelRat вне форума Ответить с цитированием
Старый 17.04.2007, 19:27   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

умеете расшифровывать md5 ? почему пока без нобелевской ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 17.04.2007, 19:34   #5
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Зачем md5? =) Кому это в школьной программе надо, милейший?
PS Кстати, где-то краем глаза я на днях зацепил информацию о чтении данных зашифроманных, не вами зашифрованных, с md5... Или я что-то не понял... Не заострил внимания.
PPS Честно говоря, я вообще md5 не интересуюсь. Ибо бред это - шифрование. У меня армейская специальность... Схожая, так скажем. =)

Последний раз редактировалось SteelRat; 17.04.2007 в 19:39.
SteelRat вне форума Ответить с цитированием
Старый 18.04.2007, 00:32   #6
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Может, не стоит так сложно. Можно просто записать данные в реестр через TRegistry и считать оттуда, а на сам реестр поставить блокировку, чтобы особо любопытные не лазали и не меняли что надо и что не надо.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 18.04.2007, 02:07   #7
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Цитата:
Сообщение от SteelRat Посмотреть сообщение
Зачем md5? =) Кому это в школьной программе надо, милейший?
PS Кстати, где-то краем глаза я на днях зацепил информацию о чтении данных зашифроманных, не вами зашифрованных, с md5... Или я что-то не понял... Не заострил внимания.
PPS Честно говоря, я вообще md5 не интересуюсь. Ибо бред это - шифрование. У меня армейская специальность... Схожая, так скажем. =)
Не надо ля-ля я сам четыре года отдал армии. А md5 до сих пор неподвластен никому, зашифруем не разберешь. Аможно тупо положить его в другую папку и назвать его по извращеннее и ок.

Сори пишу на ДР не ругайте если, что!!!

Последний раз редактировалось merax; 18.04.2007 в 02:10.
merax вне форума Ответить с цитированием
Старый 18.04.2007, 07:33   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Shuraken
смотря что для вас является целью. Если целью является надежность и защищенность данных, то можете использовать любой сторонний компонент, (которых великое множество) , которые поддерживают ряд систем шифрования, если нужно попроще, то необязательно использовать md5 , можете шифровать к примеру DES (или его разновидностями). А самым простым дл вас будет использование типизированного файла.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.04.2007, 11:39   #9
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Цитата:
Сообщение от merax Посмотреть сообщение
Сори пишу на ДР не ругайте если, что!!!
Хыхы, а я вчера тоже после Дня Рождения писал. Но кое-что толковое в моём посте всё же было. =)
SteelRat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие программы Zloy_Doomer Общие вопросы Delphi 3 23.06.2008 19:08
Странное закрытие joker Win Api 18 29.03.2008 07:45
Закрытие приложения Лёка Общие вопросы Delphi 7 09.03.2008 15:50
Закрытие доступа к СОМ- порту nova-alex Win Api 2 21.02.2007 11:55