|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.01.2010, 14:49 | #1 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
Вопрос: Зашифровка текстовых файлов, используемых программой
Я написал программу-игру, типа тестера, нужно сделать так чтобы, через обычный текстовый редактор было не прочесть файлы базы... Сама база вопросов и ответов хранится в виде записей...
Нужно сделать так, чтобы через обычный редактор, файл отображал Иероглифы, ну неважно что... лишь бы ни те вопросы и ответы, которые используются в программе... Вопрос: как это мне реализовать?! и можно ли это сделать для конкретных файлов, которые использует программа или шифруются - абсолютно все?! (если можно поподробней) я только начинающий... Заранее, спасибо... |
13.01.2010, 15:06 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Инвентируй байты перед чтением и записью. Если записи текстовые, то просто делай перекодировку по другому положению букв - допустим а у Вас будет пробелом, с станет п и т.д.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
13.01.2010, 15:17 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) способов шифрования - огромное множество.
я бы, например, предложил Вам выполнять побайтную операцию XOR со строкой-ключом (используя эту строку циклически) 2) приведите пример, как Вы работаете с текстовым файлом (чтение/запись) - я напишу Вам КОНКРЕТНЫЙ пример кодирования. 3) в принципе, если задаться целью, что можно подключить библиотечки криптографии и тогда шифровать файл уже серьёзными алгоритмами (правда, в Вашем случае ключ всё равно прийдётся хранить в программе, поэтому, теоретически его оттуда можно достать)... я бы Вам всё же рекомендовал остановиться на XOR |
13.01.2010, 15:25 | #4 | |
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
Цитата:
type alfafit= (А,Б,В..э,ю,я); только я не могу понять как реализовать к примеру метод: разбили строку на символы, и теперь сравниваем с перечисляемым типом, находим его там и отсчитываем 5(или любой другой шаг) последующих символов и заменяем символ... Н/р, было "А", шаг 5, стало "Е"... Можно хотя бы пример кода замены, а дальше я сам... У меня при обучении именно с перечисляемым типом возникали проблемы... |
|
13.01.2010, 15:32 | #5 | |||
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
Цитата:
Цитата:
А пример чтения, записи(различие только в ключ. словах) наипростейший.... Цитата:
Помогите пожалуйста... или с шаговым методом или с XOR... Последний раз редактировалось kotzzz; 13.01.2010 в 15:49. |
|||
13.01.2010, 18:12 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
метод XOR
операция XOR - обратима! Т.е. ЗашифрованныйБайт := ИсходныйБайт XOR Ключ затем ИсходныйБайт := ЗашифрованныйБайт XOR Ключ т.о. вызовете Вашу функцию для зашифрованного текста, получите расшифрованный! (хотя, реализация не очень эффективная - можно обойтись без longkey, но вроде бы рабочая!) _____________________ метод замены одних букв на другие для замены символом перечисляемый тип НЕ НУЖЕН! достаточно иметь строку: const Alfavit = ' АБВГДЕЖ...ЮЯабвг...эюя'; const NewAlfavit = 'ЯгДжУПроСцудЙфх...' строго такой же длины что и Alfavit!!!! ОДИНАКОВЫХ СИМВОЛОВ в строках Alfavit и NewAlfavit НЕ ДОПУСКАЕТСЯ (потом не расшифруете!) и код: Код:
Последний раз редактировалось Serge_Bliznykov; 14.01.2010 в 02:29. |
13.01.2010, 19:01 | #7 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 39
|
Спасибо, за помощь и разъяснение... буду пробовать...
|
13.01.2010, 22:06 | #8 | |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Цитата:
Не проще ли простую кодировку и раскодировку по следующему методу? : При записи текста в файл - текст -> код символа + ключ (ключ как угодно динамический) = кодированный код; При чтении с файла - кодированный код - ключ = код символа -> текст
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
|
13.01.2010, 22:20 | #9 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Вот когда то была подобная тема и кто то выложил dll с функцией шифрования и расшифровки :
Будь проще и люди к тебе потянутся
|
14.01.2010, 02:16 | #10 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
я описал ДВА разных метода шифрования. то, что Вы процитировали, НИКАКОГО ОТНОШЕНИЯ К XOR НЕ ИМЕЕТ! это просто пример реализации замен одних букв на другие, как предложил Utkin в пост #2 проще XOR'а уж ничего и быть не может. Алфавит задавать не надо, отдельные методы для шифрации/дешифрации делать не надо, стойкость (при достаточной длине и зашумленности строчки ключа) отличная! именно поэтому я и рекомендую в простых случаях пользоваться методом шифрования через операцию XOR. а в сложных случаях защиты — использовать специальные криптобиблиотеки, благо что есть много бесплатных! |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка текстовых файлов | Маринка777 | Общие вопросы .NET | 2 | 22.12.2009 17:37 |
Обработка текстовых файлов | Frenki | Помощь студентам | 4 | 17.05.2009 14:52 |
Как построить автоматически взаимосвязь форм, используемых программой | grenles | Общие вопросы Delphi | 1 | 14.01.2009 17:36 |
Сравнение текстовых файлов | BR17UY | Общие вопросы Delphi | 15 | 07.05.2007 20:18 |