IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment crypter les mots de passe avec MD5 ?


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Mars 2006
    Messages : 148
    Points : 80
    Points
    80
    Par défaut Comment crypter les mots de passe avec MD5 ?
    Bonjour à Tous.

    Pour une meilleure sécurité dans mon application j’aimerais crypter les mots de passe de mes utilisateurs avant de les stocker. De sorte à respecter la confidentialité du mot de passe. Apres plusieurs jours de recherche sur le net j’ai découvert MD5 et SHA2, j’aimerais donc savoir comment m’en servir sur ma page d’authentification.

    Toute indication susceptible de me mettre sur la bonne voie serait la bienvenue parce que j’ai tellement lu dessus que je suis un peu perdu je ne sais même plus par ou commencer.

    Merci à tous.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    il y a plein d'exemples dans le forum, fais une petite recherche avant de poster

  3. #3
    Membre confirmé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Points : 462
    Points
    462
    Par défaut
    Y'a même les fonctions toutes faites sur le msdn :

    http://msdn.microsoft.com/fr-fr/libr...d5(VS.80).aspx

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Mars 2006
    Messages : 148
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par ToutPaumé Voir le message
    Y'a même les fonctions toutes faites sur le msdn :

    http://msdn.microsoft.com/fr-fr/libr...d5(VS.80).aspx
    Merci pour ce lien. J'ai pourtant passé beaucoup de temps à essayer de comprendre MD5 sur msdn et je ne suis pas tombé sur une page aussi explicite. Merci encore

  5. #5
    Membre confirmé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 189
    Points : 634
    Points
    634
    Par défaut
    Perso je préfère la solution Javascript pour la sécurité. En utilisant une fonction côté serveur, le mot de passe va transiter en clair sur le réseau (entre l'utilisateur et le serveur), donc pas top.

  6. #6
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par Gunny Voir le message
    Perso je préfère la solution Javascript pour la sécurité. En utilisant une fonction côté serveur, le mot de passe va transiter en clair sur le réseau (entre l'utilisateur et le serveur), donc pas top.
    c'est quoi la solution javascript ? Si c'est en javascript, tu as accès au code source donc tu peux le décrypter aussi non ?

  7. #7
    Membre confirmé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 189
    Points : 634
    Points
    634
    Par défaut
    Tu fais crypter le mot de passe côté client, par un script javascript (ça se trouve facilement sur google). Les algorithmes comme le MD5 (même si ce n'est plus très vrai maintenant) ou SHA-256 ne fonctionne que dans un sens : on peut crypter mais pas décrypter.

    Comme ça, par exemple, tu stockes dans ta base de données les mots de passe ainsi cryptés, et dans ton formulaire, au moment de le soumettre, tu dis à javascript de crypter le mot de passe que le client a tapé, et d'envoyer la version cryptée à la place de la version en clair. Comme ça, le mot de passe en clair ne voyage jamais nulle part, et si quelqu'un intercepte et décode la communication, il va tomber sur le mot de passe crypté, et sera donc dans l'incapacité de retrouver le mot de passe d'origine.

  8. #8
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    ben si tu interceptes le mot de passe crypté par javascript et que tu refais la page sans le cryptage et que tu submit le tout au serveur, ca passe... donc ca ne sert à rien

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par flogreg Voir le message
    ben si tu interceptes le mot de passe crypté par javascript et que tu refais la page sans le cryptage et que tu submit le tout au serveur, ca passe... donc ca ne sert à rien
    lol, bien vu !
    de toutes façons la seule manière efficace d'assurer la sécurité du transport est de passer par une liaison SSL...

  10. #10
    Membre confirmé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 189
    Points : 634
    Points
    634
    Par défaut
    Citation Envoyé par flogreg Voir le message
    ben si tu interceptes le mot de passe crypté par javascript et que tu refais la page sans le cryptage et que tu submit le tout au serveur, ca passe... donc ca ne sert à rien
    Oui oui, mais le vrai mot de passe ne sa balladant jamais en clair et étant impossible à décoder, personne ne peut le connaître réellement, ce qui apporte une sécurité supplémentaire chez l'utilisateur (s'ils utilisent leur mot de passe ailleurs). De plus, au lieu de servir le mot de passe aux hackers sur un plateau d'argent, ça les oblige quand même à faire quelques pirouettes de plus, ce qui est toujours bon à prendre puisque ça peut décourager (qui a dit script kiddies ? )

  11. #11
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    pour résumer:

    javascript : eviter que le mot de passe se ballade en clair sur le réseau.
    C# : pour éviter que le mot de passe soit stocké en clair dans la base.

    Donc il faudrait crypter en javascript ET en C#

  12. #12
    Membre confirmé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 189
    Points : 634
    Points
    634
    Par défaut
    En fait le Javascript peut suffire pour les deux, il suffit de crypter le mot de passe dès que la personne s'inscrit, en vérifiant qu'il est bien passé à la moulinette md5 (ah ces salauds d'utilisateurs qui désactivent le javascript...).
    Mais en c# ça peut aussi être pratique parfois, si les mots de passes sont générés automatiquement par exemple.

  13. #13
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Juste pour vous remettre les idées en place, celui qui inclut javascript dans une politique de sécurité est sûr de se planter monumentalement.
    Comme il a déjà été dit :
    - pour ne pas stocker le mot de passe en clair, il faut stocker son hash MD5
    - pour ne pas transférer le mot de passe en clair, il faut passer par une liaison SSL (sur HTTPS par exemple).

  14. #14
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Points : 42
    Points
    42
    Par défaut
    Et puis imaginons qu'un client a désactivé javascript sur son navigateur. On ne peut même plus l'authentifier... Bof bof.. Donc Javascript c'est pour l'aspect "kikoolol" et SSL c'est pour la sécurité!

  15. #15
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    celui qui inclut javascript dans une politique de sécurité est sûr de se planter monumentalement.
    Dis ça à la Société Générale
    La saisie du mot de passe dans Logitel Net se fait via un "clavier virtuel" en javascript...

  16. #16
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Dis ça à la Société Générale
    La saisie du mot de passe dans Logitel Net se fait via un "clavier virtuel" en javascript...
    idem pour la caisse d'épargne

  17. #17
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Dis ça à la Société Générale
    La saisie du mot de passe dans Logitel Net se fait via un "clavier virtuel" en javascript...
    Citation Envoyé par flogreg Voir le message
    idem pour la caisse d'épargne
    Oui c'est pour éviter les key-logger, mais ça ne sécurise pas le système pour autant, c'est ce que je voulais dire.

  18. #18
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Oui c'est pour éviter les key-logger, mais ça ne sécurise pas le système pour autant, c'est ce que je voulais dire.
    de toute facon derrière, il y a du ssl. Mais là on parlait du problème pour les clients bloquant le javascript.

  19. #19
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par flogreg Voir le message
    Mais là on parlait du problème pour les clients bloquant le javascript.
    Oki, c'est vrai que dans ce cas, pas de bras, pas de chocolat

  20. #20
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Dis ça à la Société Générale
    La saisie du mot de passe dans Logitel Net se fait via un "clavier virtuel" en javascript...
    Oui, mais ça, c'est parce que c'est pour les petits clients. Pour les gros clients, c'est pas la même appli... et y'a pas de JS !
    (quoi qu'en regardant le source, j'ai un vilain doute là... bouh qu'ils sont cochons mes voisins de bureau...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment sécuriser les mots de passe dans la base de données ?
    Par yacine.dev dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 07/04/2010, 10h59
  2. Comment crypter un mot de passe (QString) en Sha1 ?
    Par Ðalven dans le forum Débuter
    Réponses: 4
    Dernier message: 04/01/2010, 21h47
  3. Réponses: 4
    Dernier message: 03/05/2007, 11h28
  4. Comment gérer les mots de passe ?
    Par kuranes dans le forum WinDev
    Réponses: 1
    Dernier message: 28/09/2006, 08h58
  5. comment crypter les mots de passe?
    Par JauB dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/11/2005, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo