Renforcer Chiffrement MDP
- Renforcer le système de chiffrement des mots de passe. Quelques pistes :
-
La classe Cipher disponible nativement.
-
La librairie Apache Commons Crypto, installable via Maven.
-
La librairie Bouncy Castle, installable via Maven
Tâches :
- Changer méthodes d'encryption/decryption du mot de passe de l'utilisateur
- Tests des méthodes dans une classe dédiée
Problème : La gestion du cryptage des mots de passe est de base géré dans UserManager qui applique une méthode de cryptage triviale et non sécurisée, il faut modifier ce cryptage pour renforcer la sécurité des mots de passes et ne plus gérer ça dans la classe UserManager mais dans une classe dédiée.
Solution : Création d'une classe static Security implémentant la librairire javax.crypto qui crypte via AES, on a donc trois méthodes statiques principales : encrypt qui va prendre un String en paramètre (le password non crypté) et renvoyer le password crypté, et decrypt qui fait l'opération inverse. On aura aussi la méthode validatePassword, utile pour la connexion, qui va prendre une Person en paramètre et un password (non crypté) et renvoyer ensuite true si le password crypté de Person est égal au password crypté renvoyé en paramètre, false sinon.