Где я могу разместить временные файлы, которые я не хочу показывать пользователю? - PullRequest
1 голос
/ 28 сентября 2010

в моем программном обеспечении Mac мне нужно расшифровать файл, и после того, как я сделаю с ним операции, я удалю его. Моя проблема: где я могу положить этот файл? Я не хочу показывать это пользователю.

Ответы [ 2 ]

4 голосов
/ 28 сентября 2010

Следующий API даст вам путь к каталогу, который «вне пути»:

NSTemporaryDirectory();

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

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

Можете ли вы рассказать нам больше о своей конечной цели здесь? Вы пытаетесь внедрить схему DRM / защиты от копирования? Вы пытаетесь предотвратить обман в игре? Вы просто не доверяете своему пользователю? Что?

1 голос
/ 28 сентября 2010

Я думаю, что вам лучше всего сохранить это в памяти.

Если это не вариант, это зависит от того, что вы хотите с ним сделать. Возможно, вы можете открыть временный файл и немедленно удалить его - оставив действительный дескриптор файла открытым, но не сохранив ссылку на него на диске.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...