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 confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Mars 2006
    Messages : 148
    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
    Par défaut
    il y a plein d'exemples dans le forum, fais une petite recherche avant de poster

  3. #3
    Membre éclairé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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
    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 confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Mars 2006
    Messages : 148
    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 éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    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 éclairé Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    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 éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    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 éclairé Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    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
    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 éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    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 éclairé Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    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 éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    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
    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).
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  14. #14
    Membre confirmé
    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
    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
    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 éclairé Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    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
    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.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    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
    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
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  20. #20
    Membre chevronné
    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
    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