2010-10-29 9 views
1

je veux le mot de passe de cryptage du côté client et côté serveur, cela signifie deux fois crypté, je trouve sur google code javascript md5 mais comment puis-je faire avec JSF? dans le côté serveur je peux faire mais, dans le côté client avec JSF comment puis-je?Comment crypter avec JSF

javascript 5 md: http://phpjs.org/functions/md5:469

+0

Qu'entendez-vous par "côté client avec JSF"? JSF est du côté serveur, après tout. –

+0

Je pense qu'il demande comment crypter le contenu d'un champ de saisie . – FRotthowe

Répondre

6

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.

+0

Merci BalusC! – Kency

1

S'il vous plaît - ne pas faire vous-même. Utilisez SSL. Cela ne devrait pas être trop compliqué à mettre en place dans la plupart des serveurs d'applications et des conteneurs de servlets.

+0

Merci FRotthowe! – Kency

1

On ne sait pas très bien quelle est la motivation pour hacher les mots de passe avec md5; si c'est pour empêcher quelqu'un d'intercepter le trafic pour pouvoir utiliser le mot de passe, cette approche n'aidera pas: un attaquant pourrait alors tout aussi bien envoyer directement le mot de passe haché, la connaissance du mot de passe original n'étant plus nécessaire.

Si vous souhaitez utiliser cette fonction pour l'authentification sans transmettre de mot de passe, utilisez l'authentification Digest, basée sur une communication challenge-response.

+0

Merci Martin !! – Kency