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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2014, 07:50   #1
villypaterson
 
Регистрация: 28.10.2014
Сообщений: 3
По умолчанию Секретный файл

Здравствуйте. Возник вопрос.
С помощью iostrem записал в файл переменные типа int и string, задал для файла собственное расширение, но файл можно открыть с помощью блокнота и изменить данные. Как сделать так, чтобы при открытия файла в нем было куча непонятных символов? Может использовать что-то вместо iostream?
villypaterson вне форума Ответить с цитированием
Старый 02.11.2014, 07:59   #2
studentus1985
Пользователь
 
Регистрация: 21.10.2014
Сообщений: 25
По умолчанию

Ну, так зашифруй данные перед выводом

Можно выставить флаг ios::binary. Что-то в этом роде:

Код:
ofstream outfile("File.dat", ios::binary);
outfile<<"Сюда можно выводить разные переменные";
Более того используя метод outfile.write(), можно записывать в файл целые структуры

Последний раз редактировалось Stilet; 02.11.2014 в 10:41.
studentus1985 вне форума Ответить с цитированием
Старый 02.11.2014, 10:44   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от villypaterson Посмотреть сообщение
блокнота и изменить данные. Как сделать так, чтобы при открытия файла в нем было куча непонятных символов?
1. Можно закатать бинарные данные.

Для домохозяек сойдет.
Линуксоид первым делом откроет в hex-редакторе и прочитает данные, как обычный текст.

2. Можно использовать шифрование. Любой самый простейший алгоритм.

Кто захочет - вскроет за пару минут.
Остальные - забьют.

3. Можно использовать специализированные библиотеки по шифрованию.

Вскроют за 5 минут (не файл - вашу программу. Программу ломануть будет проще, чем файл).

Защита информации, это такая телега - одна из самых хорошо оплачиваемых областей в профессии.

Много всяких нюансов)
_Bers вне форума Ответить с цитированием
Старый 02.11.2014, 10:47   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Можно выставить флаг ios::binary.
Не поможет. Текстовые данные будут точно так же читаться.
Шифрование нужно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2014, 11:21   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не поможет. Текстовые данные будут точно так же читаться.
Шифрование нужно.
Ага. На уровне исходного кода.
Потому иначе, с таким же успехом текстовую информацию можно подглядеть в самом бинарнике программы.
_Bers вне форума Ответить с цитированием
Старый 02.11.2014, 12:23   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
с таким же успехом текстовую информацию можно подглядеть в самом бинарнике программы.
Отож бо...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2014, 13:25   #7
studentus1985
Пользователь
 
Регистрация: 21.10.2014
Сообщений: 25
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
с таким же успехом текстовую информацию можно подглядеть в самом бинарнике программы.
это правильно, кто ищет тот всегда найдет, но автор пытается спрятать строку не в файле программы и я думаю не от профессионалов кряка, а значит можно предложить простой алгоритм, что то типа:
Код:
char ch1='p';
ch1=ch1-10;
studentus1985 вне форума Ответить с цитированием
Старый 02.11.2014, 13:39   #8
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от studentus1985 Посмотреть сообщение
это правильно, кто ищет тот всегда найдет, но автор пытается спрятать строку не в файле программы и я думаю не от профессионалов кряка, а значит можно предложить простой алгоритм
см #3 , пункт 2.

Последний раз редактировалось _Bers; 02.11.2014 в 13:41.
_Bers вне форума Ответить с цитированием
Старый 02.11.2014, 16:27   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Линуксоид первым делом откроет в hex-редакторе и прочитает данные, как обычный текст.
ну почему ж линусоид сразу?
Цитата:
Можно использовать специализированные библиотеки по шифрованию.
а можно придавить архиватором с AES-256.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 02.11.2014, 16:54   #10
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
ну почему ж линусоид сразу?
---------> штамп.
_Bers вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача "Украсть секретный шифр".Скорее всего Ассемблер. ShavinMihail Помощь студентам 1 14.05.2013 00:47
Секретный язык, нужно понять, что написано. pufystyj Свободное общение 9 05.03.2012 20:45
Открыть файл, разделить ячейку на 1000, сохранить файл, закрыть файл. Как? Ник Харди Microsoft Office Excel 7 30.01.2012 18:47
Секретный диалог Бросов1Бросов Софт 6 09.01.2012 02:46
Что такое "секретный диск"? tetris Общие вопросы Delphi 1 22.05.2007 06:02