Gestionnaire de mots de passe
Dans ce mini-projet, vous aurez à créer une application client/serveur pour générer et enregistrer des mots de passe, un peu comme BitWarden ou 1Password.
Application client
L'application cliente permet de se connecter au serveur et d'enregistrer et récupérer ses mots de passe. L'application cliente est également responsable de générer les mots de passe localement. Une fois le mot de passe généré, l'application cliente devra également demander le nom d'un site et le nom d'utilisateur. Finalement, un menu permettant de consulter ou supprimer ses mots de passe devra être affiché.
Application serveur
L'application serveur est responsable d'enregistrer les données du client. Celle-ci doit stocker les mots de passe et appliquer toute modification demandée par le client. Ainsi, plusieurs application cliente (appartenent au même propriétaire) pourra être utilisé pour générer et obtenir ses mots de passe.
Chiffrement
Le chiffrement sera essentiel pour ce projet. En aucun cas on doit pouvoir consulter les mots de passe du client, sauf par le client lui-même. On ne doit pas pouvoir consulter l'information lorsqu'elle est envoyée par le réseau (transit) ni directement sur le disque dur (repos).
Pour ce projet, le client sera responsable de chiffrer/déchiffrer seulement les mots de passe, et le serveur devra également chiffrer/déchiffrer le fichier stocké sur le disque dur.