Зашифровать папку и открыть с помощью Java-приложения

Мое Java-приложение хранит данные в папке в домашнем каталоге пользователя. Как я могу зашифровать эту папку, но получить доступ к зашифрованной папке с помощью приложения?

Я пытался зашифровать папку с помощью Java (Расширение Java Cryptography Extension (JCE)), но не могу получить доступ к этой папке из моего приложения, не расшифровав ее.

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

1 ответ

Примечание: это будет немного неортодоксальный ответ, и он может быть не совсем тем, что ищет ОП.

Одним из возможных решений является заархивировать файлы в вашей папке, а затем зашифровать zip-файл. Чтение его содержимого, конечно, будет медленнее, но вполне возможно с помощью поставщика NIO Zip File для Java. Вам нужно будет расшифровать его обратно, чтобы он вернулся в формат ZIP.

https://docs.oracle.com/javase/8/docs/technotes/guides/io/fsp/zip filesystemprovider.html

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

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