C: сохранение указанных файлов с уникальными расширениями

Мне действительно любопытно на этот раз.

Гипотетически, скажем, я хотел сделать программу для блокнота, чтобы пользователь мог создавать документы. Пользователь может вводить все, что ему угодно, без ограничений.

Для конфиденциальности, так что только эта программа открывает его, могу ли я использовать специальное (не предназначенное) расширение для программы? Например, сохраните файл как: "test.abcz". Если это возможно, могут ли другие программы по умолчанию (word, notepad) открываться и просматривать содержимое?

Я думал о разработке приложения на основе блокнота. Это звучит довольно просто, и я думаю, что это может помочь в изучении некоторых основ C.

Спасибо!:)

3 ответа

Решение

Единственный способ сделать содержимое документа нечитаемым для другого программного обеспечения - это применить к нему какое-либо преобразование (криптографию), которое может быть декодировано только вашим программным обеспечением или эквивалентным программным обеспечением, использующим тот же алгоритм шифрования, что и у вас. ключ".

Расширение файла является просто подсказкой для файлового менеджера, поэтому он может открывать связанное с ним программное обеспечение, но ничто не мешает либо вручную выбрать программное обеспечение, либо попытаться открыть файл непосредственно в приложении.

Если вы хотите немного потренироваться, попробуйте реализовать блокнот, который сохраняет файл с алгоритмом ROT13.

Расширения не имеют ничего общего со способностью читать контент.

Они представляют собой просто способ сообщить операционной системе, как получить доступ к файлу или каков заявленный (не настоящий) формат файла.

Вы можете проверить это самостоятельно, переименовав текстовый документ в something.mp3 и просмотр содержимого в блокноте.

Если содержание может быть понято программой - программа может открыть его. Таким образом, текстовые файлы могут быть просмотрены многими различными редакторами, но они не могут "понять" .mp3 файлы (ну обычно). Медиа-файлы могут быть использованы моими медиаплеерами, но не редакторами и т. Д.

Что вы можете рассмотреть, так это шифрование содержимого при сериализации данных (сохранение файла), поэтому никакая другая программа не сможет открыть его (по крайней мере, нелегко).

В техническом смысле да.

Например, могут быть прочитаны даже файлы.exe (не то, чтобы это имело смысл):

1. Rename to .txt from .exe
2. Open in notepad.exe

Реально, конфиденциальность данных обеспечивается, если это не является явно очевидным форматом (простой текст)

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

Другие вопросы по тегам