Хранение секретного ключа на Android

В моем приложении Android используется секретный ключ для генерации токена для целей аутентификации. Есть ли более безопасный способ сохранить это, чем просто поместить это в хранилище данных? Я думаю, что для iPhone мы храним его в цепочке ключей. Мне известно о android.accounts.AccountManager, но это, похоже, дает другим приложениям возможность доступа к паролю (если пользователь выбирает неправильный вариант) и поэтому кажется менее безопасным.

Solutions Collecting From Web of "Хранение секретного ключа на Android"

Android (к сожалению) не дает возможности сделать это. Подход, который я использовал ранее, – это зашифровать этот токен другим ключом, созданным в приложении.

Ваш ключ приложения может быть генерирован алгоритмически. Это, однако, так же безопасно, как и ваш алгоритм. Как только это известно, это эквивалентно сохранению токена в виде обычного текста.

Вы можете сохранить ключ в настройках своего приложения. Это защитит ключ от чтения другими приложениями из-за ограничений файловой системы Android.

Но это не защитит ключ от чтения самим пользователем.

Если вы можете запустить apk tool, тогда он будет отлаживаться, и вы собираетесь запустить его. Нет никакой защиты на брелках в iOS, когда он взломан

Вы можете хранить секретные данные, зашифровав его ключом, созданным системой Android Keystore, а затем сохраните результат, хотите ли вы.