2016-06-23 7 views
0

Я работаю с одним из моих первых приложений для iPhone. Я сделал простой вход для пользователей. Я хочу сохранить переменную в NSUserDefaults, которая будет отслеживать, если пользователь вошел в систему. Если пользователь зарегистрирован, чем 1, в противном случае это будет 0. И, конечно, в другом имени пользователя.безопасность NSUserDefaults in Swift

Мой вопрос: Является ли NSUserDefaults безопасным для хранения информации? Есть ли способ, которым кто-то или пользователь мог манипулировать этими переменными и логином, не зная пароля?

+0

спасибо за ссылку, я ее не нашел :) – user3229841

ответ

3

Если вам нужна безопасность, вы должны использовать Key Chains. Он кодирует значения и является наилучшим способом сохранения некоторых сведений о безопасности. Одна вещь, которую вы должны знать, заключается в том, что вы не должны хранить там много данных, так как это хранилище связано со всем устройством не только с вашим приложением, поэтому, если ваше приложение будет удалено, сохраненные данные все равно будут сохранены. Например, с помощью сохраненных данных User Defaults немедленно удаляются (то же самое с использованием Core Data).

+0

Если я храню строку и bool в NSUserDefaults, то каким образом кто-то может изменить значение этих переменных или даже прочитать их? – user3229841

+0

Чем только ваше приложение может их прочитать, так как только он будет иметь необходимый ключ для декодирования этих значений в действительные данные. – Volodymyr

+0

Также вы можете легко изменить их внутри своего приложения. Существует много стручков, которые делают работу с Key Chains очень простой. – Volodymyr

Смежные вопросы