MD5 est un cryptage unidirectionnel. Vous ne pouvez pas le déchiffrer à la chaîne d'origine. Cela n'a pas non plus de sens de le faire du côté de la vue. Si vous utilisez une base de données pour stocker les données et que vous avez l'intention de hacher les mots de passe dans la base de données, faites-le plutôt dans la DB. Un DB décent offre des fonctions pour cela. On ne sait pas quel DB vous utilisez, mais dans le cas de MySQL entre autres, il est simplement appelé md5()
.
Ressaisissez votre INSERT
comme suit:
String sql = "INSERT INTO user (username, password) VALUES (?, md5(?))";
Et votre SELECT
comme suit:
String sql = "SELECT * FROM user WHERE username = ? AND password = md5(?)";
Si votre seule exigence fonctionnelle est de chiffrer les données transférées sur HTTP (qui n'a pas été clairement votre question du tout), alors jetez un oeil à HTTPS (HTTP en utilisant SSL). Ceci est configurable au niveau du serveur Web. Encore une fois, on ne sait pas lequel vous utilisez, mais dans le cas de Tomcat par exemple, vous pouvez trouver des détails dans this documentation.
Qu'entendez-vous par "côté client avec JSF"? JSF est du côté serveur, après tout. –
Je pense qu'il demande comment crypter le contenu d'un champ de saisie. –
FRotthowe