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

PHP & Base de données Discussion :

Cryptage de mot de passe [À faire]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Responsable informatique
    Inscrit en
    Juillet 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 142
    Points : 91
    Points
    91
    Par défaut Cryptage de mot de passe
    Bonsoir,

    Je souhaite crypter les mots de passe utilisateur qui sont stockés dans ma BDD.
    C'est possible de le faire avec la fonction md5() mais on ne peut pas décrypter le mot de passe et en cas d'oubli du mot de passe on ne peut donc pas le retourner.

    Je cherche donc une fonction php qui permet de chiffré avec une clé privée pour pouvoir ensuite le décrypter grâce à cette clé privée ... Connaissez-vous une fonctio, php qui permet de faire ça?

    Merci de votre aide.

  2. #2
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    Citation Envoyé par canabral
    C'est possible de le faire avec la fonction md5() mais on ne peut pas décrypter le mot de passe et en cas d'oubli du mot de passe on ne peut donc pas le retourner.
    sisi, c'est possible
    Tuxboard Blog d'actu Buzz...
    Video de sport

  3. #3
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Bonjour

    La "bonne pratique" consiste à laisser dans la base de donner une "empreinte", ou hash (ce que te donne md5 par exemple), que tu ne peux effectivement pas déchiffrer par toi-même. En cas de perte de mot de passe, tu en regénères un nouveau.

    Tout chiffrement symétrique des mots de passe constitue une faille de sécurité plus ou moins élevée.

    Un extrait d'un tutoriel qui pourrait t'intéresser : http://matthieu.developpez.com/authentification/#L2

  4. #4
    Membre régulier
    Profil pro
    Responsable informatique
    Inscrit en
    Juillet 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    Merci pour ce conseil, d'ailleurs je pense comme toi et j'avais déjà trouvé beaucoup d'info dans ce tuto ...

    malheureusement on me demande une solution où le mot de passe doit pouvoir être retourné ... donc décrypter ...

    Sinon j'avais entendu parlé du chiffrement RSA je vais me renseigner.

    Si vous avez d'autres infos ... merci d'avance.

  5. #5
    Membre averti Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Points : 388
    Points
    388
    Par défaut
    Citation Envoyé par canabral
    malheureusement on me demande une solution où le mot de passe doit pouvoir être retourné ... donc décrypter ...
    Tu peux utilser le base64 dans ce cas.
    mais c'est pas sécurisé !
    Tuxboard Blog d'actu Buzz...
    Video de sport

  6. #6
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    Surtout pas le base 64 pour crypter !!!

    Bon, ce que tu peux faire c'est avoir 2 champs dans ta base, 1 pour le mot de passe crypté et 1 pour stocker le mot de passe en clair qui ne sera utilisé que pour renvoyer une éventuel mot de passe, mais attention j'avertis bien que si quelqu'un te pirate la base, ou qu'un admin (chez l'hébergeur par exemple) accède a ta base, il emporte avec lui les mots de passe qu'il veut...

    Sinon, pourquoi ne pas passer par le système plus sécurisé qui consiste à détruire le mot de passe et de le re-créer ?

    Christophe
    Votre nom de domaine dès 1,47€ ?
    www.avenuedot.com

  7. #7
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Joe Le Mort
    Tu peux utilser le base64 dans ce cas.
    base64 est un encodage et pas un algo de chiffrement.

    Citation Envoyé par elitemedia
    Bon, ce que tu peux faire c'est avoir 2 champs dans ta base, 1 pour le mot de passe crypté et 1 pour stocker le mot de passe en clair qui ne sera utilisé que pour renvoyer une éventuel mot de passe, mais attention j'avertis bien que si quelqu'un te pirate la base, ou qu'un admin (chez l'hébergeur par exemple) accède a ta base, il emporte avec lui les mots de passe qu'il veut...
    Si on met le clair dans la base, où est l'intérêt de chiffrer ? Si on veut pouvoir chiffrer le mdp (en y gagnant un peu en sécurité) ET pouvoir le retrouver, il faut les stocker chiffrés, en symétrique avec une clé secrète stockée dans un endroit inaccessible par apache, mais pas par PHP. Mais je persiste à penser que c'est pas la bonne méthode.

  8. #8
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    De toutes façons, quoi que l'on dise, la seule vraie méthode pour ces problèmes de sécurité est de détruire l'ancien mot de passe et d'en régénérer un tout neuf. Ensuite on peut discuter évidement des méthodes pour regénérer ces mots de passe et des techniques très pertinentes que tu nous cites Eusebius.

    Donc dans le problème posé par l'initiateur du fil ayant comme condition de renvoyer l'ancien mot de passe en cas d'oubli, je ne vois pas vraiment de réelle solution (en tout cas pas avec les chiffrages unidirectionnels)
    Votre nom de domaine dès 1,47€ ?
    www.avenuedot.com

  9. #9
    Membre régulier
    Profil pro
    Responsable informatique
    Inscrit en
    Juillet 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    me voilà,
    donc oui je suis d'accord la meilleur solution est de faire un hachage style md5 que l'on peut pas déchiffrer.
    Si l'on souhaite pouvoir redonner le mot de passe il faut utiliser un chiffrement avec une clé privé où tout repose sur la clé (la taille de la clé et le stockage de cette clé). En php existe-t-il une méthode qui permette le chiffrement à clé privé comme il existe la méthode md5() ?

  10. #10
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Yo Canabral,

    quelle Bdd utilise tu?
    si c'est MySQL, je te conseille de voir dev.mysql

    C'est clair et ca pourrait t'aider. Après tout dépend du niveau de sécurité que tu souhaite.
    Mais n'oublie pas qu'aucun système n'est inviolable et que ceux qui se vantent de leur système de sécurité sont les premiers à tomber .

    Bon dev'
    Le monde se divise en deux: ceux qui utilisent le tag et les autres.

  11. #11
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par canabral
    En php existe-t-il une méthode qui permette le chiffrement à clé privé comme il existe la méthode md5() ?
    Tu as tout ce qu'il faut dans la bibliothèque mcrypt, mais... bonne lecture !

  12. #12
    Membre régulier
    Profil pro
    Responsable informatique
    Inscrit en
    Juillet 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 142
    Points : 91
    Points
    91
    Par défaut
    Merci, je vais regarder tout ça avec attention ...

  13. #13
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    Dans le cas ou tu trouves une solution concrète et bien sécurisé de crytage et décryptage grâce à d'autres algorythmes que MD5, tiens nous informé car je pense que le sujet va interresser plus d'un développeur ici !
    Votre nom de domaine dès 1,47€ ?
    www.avenuedot.com

Discussions similaires

  1. Cryptage de mot de passe
    Par DJBORIE dans le forum Access
    Réponses: 3
    Dernier message: 17/02/2006, 15h10
  2. cryptage de mot de passe
    Par chti_juanito dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/02/2006, 23h29
  3. Oracle 9i - Cryptage de mots de passe sous sql
    Par momo9237 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/01/2006, 11h11
  4. [VB.NET] cryptage de mot de passe.
    Par leSeb dans le forum Windows Forms
    Réponses: 16
    Dernier message: 28/05/2005, 14h06
  5. [cryptage] cryptage de mot de passe
    Par LoLoSS dans le forum Sécurité
    Réponses: 5
    Dernier message: 11/05/2004, 12h04

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