Je suis en train de créer une application qui demande à l'utilisateur d'entrer un code PIN avant de pouvoir utiliser l'application. Ma question est la suivante : où est-il approprié de stocker de telles données (afin de pouvoir vérifier si elles sont correctes), NSUserDefaults, un fichier groupé, le dossier des documents de l'application ?
Réponses
Trop de publicités?Vous devez absolument stocker des données sensibles dans le trousseau. NSUserDefaults stocke ses données dans un fichier texte que toute personne ayant accès au système de fichiers peut lire.
Il existe quelques classes open-source qui facilitent l'utilisation de l'API du trousseau, vous devriez absolument les consulter :
SFHFAccès au trousseau :
Vous devez utiliser services de trousseau Il enregistre les données dans le trousseau crypté de l'appareil.
L'API peut être difficile à utiliser. SFHFKeychainUtils Il s'agit d'un wrapper Objective-C facile à utiliser.
Je pourrais opter pour NSUserDefaults, mais cela dépend de votre cas d'utilisation. Quelle est l'utilisation que vous en faites ? Doit-il être régulièrement consulté/mis à jour ? Avez-vous envisagé de stocker le hachage du code PIN au lieu du seul code PIN ? Quelle est la taille des données ?
S'il s'agit d'un code pin très simple à 4 chiffres auquel vous n'accédez qu'une seule fois à chaque lancement de l'application, NSUserDefaults est peut-être la meilleure option. Il est également très rapide à mettre en œuvre. Assurez-vous simplement que vous savez ce que vous faites et chiffrez le code si nécessaire.