C: сохранение указанных файлов с уникальными расширениями
Мне действительно любопытно на этот раз.
Гипотетически, скажем, я хотел сделать программу для блокнота, чтобы пользователь мог создавать документы. Пользователь может вводить все, что ему угодно, без ограничений.
Для конфиденциальности, так что только эта программа открывает его, могу ли я использовать специальное (не предназначенное) расширение для программы? Например, сохраните файл как: "test.abcz". Если это возможно, могут ли другие программы по умолчанию (word, notepad) открываться и просматривать содержимое?
Я думал о разработке приложения на основе блокнота. Это звучит довольно просто, и я думаю, что это может помочь в изучении некоторых основ C.
Спасибо!:)
3 ответа
Единственный способ сделать содержимое документа нечитаемым для другого программного обеспечения - это применить к нему какое-либо преобразование (криптографию), которое может быть декодировано только вашим программным обеспечением или эквивалентным программным обеспечением, использующим тот же алгоритм шифрования, что и у вас. ключ".
Расширение файла является просто подсказкой для файлового менеджера, поэтому он может открывать связанное с ним программное обеспечение, но ничто не мешает либо вручную выбрать программное обеспечение, либо попытаться открыть файл непосредственно в приложении.
Если вы хотите немного потренироваться, попробуйте реализовать блокнот, который сохраняет файл с алгоритмом ROT13.
Расширения не имеют ничего общего со способностью читать контент.
Они представляют собой просто способ сообщить операционной системе, как получить доступ к файлу или каков заявленный (не настоящий) формат файла.
Вы можете проверить это самостоятельно, переименовав текстовый документ в something.mp3
и просмотр содержимого в блокноте.
Если содержание может быть понято программой - программа может открыть его. Таким образом, текстовые файлы могут быть просмотрены многими различными редакторами, но они не могут "понять" .mp3
файлы (ну обычно). Медиа-файлы могут быть использованы моими медиаплеерами, но не редакторами и т. Д.
Что вы можете рассмотреть, так это шифрование содержимого при сериализации данных (сохранение файла), поэтому никакая другая программа не сможет открыть его (по крайней мере, нелегко).
В техническом смысле да.
Например, могут быть прочитаны даже файлы.exe (не то, чтобы это имело смысл):
1. Rename to .txt from .exe
2. Open in notepad.exe
Реально, конфиденциальность данных обеспечивается, если это не является явно очевидным форматом (простой текст)
Расширение - это способ идентифицировать программу для системы и реальной программы, а не для конечного пользователя.