Зашифровать папку и открыть с помощью 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 и повторно зашифровать его для того, что нужно.