Добрый день, парни и девушки,
Надеюсь, это будет простой и быстрый вопрос.
Я создаю приложение, которое требует, чтобы пользователь вводил свои данные для входа в онлайн-службу, на которую он ссылается. Можно добавить и сохранить несколько данных для входа, поскольку у пользователя может быть несколько учетных записей, между которыми он хотел бы переключиться.
Эти данные будут храниться в базе данных SQLite и содержать их пароли. Теперь вопросы:
1: Должны ли эти пароли быть зашифрованы в базе данных? Мой инстинкт сказал бы «да», но тогда я не знаю, насколько безопасны устройство и система, и если это необходимо.
2: Если они должны быть зашифрованы, что я должен использовать? Я думаю, что шифрование всего файла базы данных звучит немного излишне, поэтому я должен просто зашифровать пароль перед сохранением его в базе данных? Если это так, что я мог бы использовать для достижения этого? Я нашел ссылку на "crypt (3)", но мне трудно найти много информации о нем или о том, как его реализовать.
Я с нетерпением жду ваших ответов!
РЕДАКТИРОВАТЬ: Как вы увидите из выбранного ответа и комментариев KeyChain - это то, с чем я столкнулся. Любой, кто заинтересован в его использовании, найдет здесь полезный исходный код:
http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code