Quelle est la meilleure façon d’enregistrer les parameters utilisateur dans une application Java?

Quelle est la meilleure façon de sauvegarder les parameters utilisateur dans l’application de bureau java en toute sécurité? Par exemple, si je veux enregistrer les parameters d’un compte FTP, quelle est la meilleure façon de le faire?

Merci

L’ API Préférences est un moyen pratique de stocker les préférences utilisateur et système. Si vous souhaitez stocker des mots de passe, vous devrez les chiffrer. Voici un article intéressant qui peut vous aider à démarrer.

Préférences chiffrées en Java

Je stocke généralement dans le répertoire de données utilisateur, avec des sous-répertoires du nom de l’application suivi de la version de l’application.

 public static Ssortingng getUserDataDirectory() { return System.getProperty("user.home") + File.separator + ".jstock" + File.separator + getApplicationVersionSsortingng() + File.separator; } 

J’avais utilisé le code suivant pendant 3 ans. Cette méthode fonctionne assez bien sous Windows, Linux ou Mac.

Veuillez noter que sous Windows, ne le stockez jamais dans Program Files , car l’UAC dans Windows Vista ou version ultérieure peut vous causer beaucoup de problèmes.

N’oubliez pas de mettre un sharepointvant le nom de votre application, de sorte qu’il devienne un dossier caché sous Linux.

Une bonne chose en utilisant cette méthologie est que vous ne vous limitez pas à stocker uniquement la valeur primitive. Au lieu de cela, vous pouvez enregistrer l’état d’object entier sur le disque en utilisant xstream

Par exemple :

 public static boolean toXML(Object object, File file) { XStream xStream = new XStream(); OutputStream outputStream = null; Writer writer = null; try { outputStream = new FileOutputStream(file); writer = new OutputStreamWriter(outputStream, Charset.forName("UTF-8")); xStream.toXML(object, writer); } catch (Exception exp) { log.error(null, exp); return false; } finally { close(writer); close(outputStream); } return true; } 

Stocker un seul mot de passe en toute sécurité est assez difficile. Supposons que vous cryptez le mot de passe en utilisant une clé secrète. Ensuite, lorsque votre demande recommence, elle a besoin de cette clé secrète, d’où vient-elle?

S’il demande à l’utilisateur, il pourrait tout aussi bien saisir le mot de passe ftp que vous avez enregistré en premier lieu. S’il lit la clé secrète quelque part, vous devez sécuriser la clé secrète et nous sums de retour là où nous avons commencé.

Si vous conservez plusieurs mots de passe, demander à l’utilisateur un mot de passe unique pour un “coffre-fort” peut s’avérer beaucoup plus convivial, mais vous ne pourrez plus gérer les mots de passe expirés.

Il y a des produits disponibles pour traiter ce lot de choses, si vous avez un besoin sérieux, vous devrez probablement les examiner.