Форум программистов, компьютерный форум CyberForum.ru

Собственный формат файла - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Techno
Вирусоборец
 Аватар для Techno
317 / 119 / 2
Регистрация: 15.07.2011
Сообщений: 293
09.04.2013, 15:56     Собственный формат файла #1
Здравствуйте!!!
Есть программа, для нее нужна некая БД в виде файла. Как сделать, чтобы этот файл понимала только программа, а в блокноте он был нечитабельным?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 15:56     Собственный формат файла
Посмотрите здесь:

сохранение пикселей в граф. формат файла C++
собственный неожиданны обработчик C++
Собственный класс итератора C++
Собственный манипулятор C++
STL и собственный класс C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
09.04.2013, 15:59     Собственный формат файла #2
Techno, нужно записывать туда данные в двоичном виде. Работа с бинарными файлами. Шифрование получится, благодаря порядку записи разных типов разных переменных.
Байт
 Аватар для Байт
13974 / 8805 / 1227
Регистрация: 24.12.2010
Сообщений: 15,949
09.04.2013, 16:01     Собственный формат файла #3
Один из вариантов - прибавьте к каждому символу +1 по модулю 256
Можно первые 20 байтов забить какой-нибудь двоичной ерундой.
Ну а дальше - насколько фантазии хватит...
Techno
Вирусоборец
 Аватар для Techno
317 / 119 / 2
Регистрация: 15.07.2011
Сообщений: 293
09.04.2013, 19:13  [ТС]     Собственный формат файла #4
А можно примерчик?
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
09.04.2013, 21:22     Собственный формат файла #5
Цитата Сообщение от Techno Посмотреть сообщение
А можно примерчик?
поддерживаю
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
10.04.2013, 09:37     Собственный формат файла #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
А я бы воспользовался банальным xor шифрованием. Причём 1-го символа для того, чтобы просто текст не было видно, на мой взгляд, будет достаточно. Пример xor по символу '1':
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <fstream>
#include <cstring>
 
char* Code(char* begin, char* end, char key)
{
    for (char* cursor = begin; (cursor < end); ++cursor)
    {
        *cursor ^= key;
    }
 
    return begin;
}
 
int main()
{
    char text[] = "Hello World";
    size_t nText = sizeof(text) / sizeof(*text);
 
    // Записываем
    std::ofstream fout("test.bin", std::ofstream::binary);
    fout.write(Code(text, text+nText, '1'), nText);
    fout.close();
 
    std::fill(text, text+nText, '\0');
    //Читаем
    std::ifstream fin("test.bin", std::ifstream::binary);
    fin.read(text, nText);
    fin.close();
 
    std::cout << Code(text, text+nText, '1') << std::endl;
 
    return 0;
}
Файл:
Собственный формат файла

Терминал:
Название: 1111.PNG
Просмотров: 71

Размер: 1.9 Кб

P.S.: но можно и усложнить используя ключ длиною более чем 1 символ .
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
10.04.2013, 13:15     Собственный формат файла #7
anmartex, спасибо огромное!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2013, 13:18     Собственный формат файла
Еще ссылки по теме:

Как создать свой формат файла на Visual C++ Win32, Или С# формой C++
C++ Собственный графический интерфейс
Реализовать собственный cin C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.04.2013, 13:18     Собственный формат файла #8
Цитата Сообщение от Techno Посмотреть сообщение
а в блокноте он был нечитабельным?
Он будет не читабелен, если использует не знакомую блокноту кодировку, будет зашифрован, или вообще будет бинарным.
Yandex
Объявления
10.04.2013, 13:18     Собственный формат файла
Ответ Создать тему
Опции темы

Текущее время: 21:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru