Хорошо, я работаю над приложением и хочу сохранить файл на SD-карте пользователя, но я хочу, чтобы файл был зашифрован. Я изучил несколько сайтов, которые используют шифрование DES для шифрования файлов и данных, но что-то меня смущает. Во всех примерах, которые я видел, используется такая строка:
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
Проблема, с которой я сталкиваюсь, заключается в том, что я получаю свой ключ для шифрования, и, очевидно, мне нужен тот же ключ для расшифровки. Но это кажется парадоксом, потому что, если я сохраню свой ключ в файле или в базе данных, не сможет ли кто-нибудь получить ключ и расшифровать мой файл? Может быть, я что-то упускаю, но есть ли способ сгенерировать ключ, используя предоставленную парольную фразу? И почему кто-то не захочет использовать ключ доступа, если он должен хранить сгенерированный ключ где-то еще?