Много угроз говорят о том, как зашифровать пароли, симметричное и асимметричное шифрование и т. Д. *
У меня есть простой зонд. Если я требую, чтобы пользователь вводил пароль каждый раз, когда он хочет подключиться к базе данных sqlite, тогда все в порядке.
Теперь проблема в том, что я хочу сохранить пароль в приложении, чтобы пользователю не приходилось вводить его каждый раз, когда он хочет подключиться к базе данных sqlite.
Я знаю, что могу зашифровать пароль и хранить пароль в любом месте. Но тогда это означает, что мне нужно будет сохранить второй пароль, чтобы расшифровать этот пароль где-то еще.
Я мог бы продолжать повторять этот процесс и зашифровывать второй пароль, но тогда у меня снова останется незашифрованный пароль, который мне нужен, чтобы расшифровать этот пароль.
Так что мой вопрос ... где мне хранить тот последний пароль, который мне нужен, чтобы расшифровать другой пароль? где будет самое безопасное место для размещения этого пароля?
Если вы не понимаете последнюю часть, вот пример того, что я пытался объяснить в последней части:
скажем:
пароль для открытия базы данных: 1234
тогда я зашифрую этот пароль ключом someKey
и скажем, что дает abcd
если я потом расшифрую abcd
ключом someKey
я должен получить 1234
Я мог бы зашифровать abcd
снова с помощью ключа someKey
, и я могу получить xy#8
наконец, если я смогу получить пароль 1234
путем дешифрования xy#8
с помощью ключа someKey
, тогда я получу abcd
Затем я расшифрую его тем же ключом someKey
, чтобы получить 1234
, поэтому не имеет значения, сколько раз я повторю этот процесс, у меня всегда будет какой-нибудь незашифрованный ключ someKey
где-нибудь в приложении. Единственный способ, которым мне не потребуется хранить этот ключ, - это требовать, чтобы пользователь предоставлял пароль каждый раз, когда он хочет подключиться к базе данных.
где будет самое безопасное место для хранения строки someKey
в приложении как можно более скрытой?