Insérer son mot de passe crypté en 32 caractères

Insérer son mot de passe crypté en 32 caractères - PHP - Programmation

Marsh Posté le 04-10-2007 à 13:46:36    

Bonjour,
 
Mon site comprend une zone membres avec accès par mot de passe. Je voudrais crypter les mots de passe des users. Alors j'utilise la fonction md5(), et le mot de passe s'enregistre dans ma base de données sous forme d'une chaîne de 32 caractères hexadécimaux.
 
Mais lorsque je veux essayer si cela fonctionne en entrant mon mot de passe d'origine, cela ne marche pas. Sans doute faut-il taper les 32 caractères pour pouvoir entrer dans la zone.
 
Comment faire donc pour "décoder", dans le formulaire pour entre dans la zone privée, les 32 caractères hexadécimaux en mot de passe, celui enregistré lors de l'inscription ?
 
Merci d'avance à ceux qui m'aideront (et qui me comprendront d'abord) ...

Reply

Marsh Posté le 04-10-2007 à 13:46:36   

Reply

Marsh Posté le 04-10-2007 à 13:52:55    

:hello:

 

tu récupères le mot de passe de l'utilisateur via un

Code :
  1. $password_clair=$_POST['password'];
 

puis tu "cryptes" le mot de passe obtenu :

Code :
  1. $password_hash=md5($password_clair);
 

puis tu vérifies que le mot de passe est bon :

Code :
  1. mysql_query("select user from users where password='".$password_hash."';" );
 

bon... l'exemple est simple, faut adapter à ton cas... et puis vérifier le nom de l'utilisateur, accessoirement ;)

 

:jap:


Message édité par nabbo le 04-10-2007 à 13:54:25
Reply

Marsh Posté le 04-10-2007 à 13:58:01    

grand merci ... Simpliste en effet, mais très efficace !!

Reply

Marsh Posté le 04-10-2007 à 14:03:57    

Ou alors en utilisant la fonction md5 de mysql.

Code :
  1. mysql_query(sprintf("select user from users where password=md5('%s')", $_POST['password']));


Message édité par anapajari le 04-10-2007 à 14:04:07
Reply

Marsh Posté le 04-10-2007 à 14:20:21    

encore une question.
 
J'ai créé une page de récupération de mot de passe.
 
Lorsque l'user tape son pseudo, cela envoie rechercher le mot de passe dans le bdd.
 
Mais vu qu'il est composé de 32 caractères, comment leur demander de recomposer un seul mot ???

Reply

Marsh Posté le 04-10-2007 à 15:28:27    

Tu demandes pas à la base, tu lui en fournis un nouveau par mail.

Reply

Marsh Posté le 04-10-2007 à 15:31:53    

:hello:
 
l'intéret de crypter le mot de passe est de ne pas garder de version en clair du mot de passe. Comme ça, si quelqu'un a un accès non autorisé à ta base, les dégats sont limités dans la mesure où il n'obtient que des mots de passe "cryptés", donc inutilisables (en théorie, car en pratique il existe des rainbow tables, et de plus, le MD5 n'est plus considéré comme sûr, car son efficacité a été mise à mal ces derniers temps.)
 
Bref, la principe du hashage des mots de passe (ce n'est pas du cryptage, car il est impossible de retrouver le mot de passe d'origine) est de ne pas garder le mdp en clair.
 
Donc, on ne peut pas redonner son mot de passe à l'utilisateur, car on ne le connait pas.
 
Si on veut changer un mot de passe, il faut un créer un nouveau, de manière aléatoire, puis demander à l'utilisateur de le changer.

Reply

Marsh Posté le 04-10-2007 à 16:33:37    

ok, merci bien pour votre aide !

Reply

Marsh Posté le 04-10-2007 à 16:42:55    

Pour être encore plus blindé, utilise un autre cryptage, moi j'utilise sha-256

Reply

Marsh Posté le 04-10-2007 à 16:49:07    

FlorentG a écrit :

Pour être encore plus blindé, utilise un autre cryptage, moi j'utilise sha-256


PIRATE!!! :o
Ce n'est pas légale d'utiliser des clés de plus de 128 bits pour du cryptage en france ( decret de 2001 je crois, ça doit bientot changer mais ce n'est pas encore le cas)

Reply

Marsh Posté le 04-10-2007 à 16:49:07   

Reply

Marsh Posté le 04-10-2007 à 16:50:03    

Ah bon ? [:johneh] Merde :D

Reply

Marsh Posté le 04-10-2007 à 16:51:23    

on chiffre, on ne crypte pas (terme qui n'existe pas, sisisi, c'est vrai)


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 04-10-2007 à 17:37:15    

Ha ben si, ça existe :
- dans les cimetières (chambres funéraire/ tombeaux).
- dans les églises ( pièce construite sous l'édifice)
- dans les grottes (certaines parties difficile d'accés et à l'entré de petite taille sont nommé ainsi)
- dans le corps d'un animal ("Petite cavité située dans l'épaisseur des téguments ou des membranes muqueuses." )
- dans la psychologie ("Partie la plus intérieure de l'âme et la plus difficile à pénétrer." )
 
C'est également un animal : "Insecte (ordre des Hyménoptères) à antennes longues et grêles, à thorax épineux, à abdomen pédonculé et vivant dans les œufs des autres insectes ou le corps des pucerons."
 
Comme quoi le terme existe bel et bien (mais n'est pas un verbe) Mais bon, d'après ta page, il ne faudrait pas utiliser le verbe "crypter" par ce que le verbe "décrypter" signifie "décoder sans avoir la clé de décodage". Ca me semble légé comme raison surtout qu'une crypte (mot de même racine) à quand même comme définition première "endroit caché" donc ça me semble logique que le verbe "crypter" soit utilisé pour désigner l'action de cacher un élément (de manière à ce qu'il ne soit pas découvrable). Le couple chiffrer/déchiffrer qu'ils préconisent à sa place indique que c'est réversible ce qui n'est pas le cas d'un "cryptage". Leur argument de la perte d'un sens n'est donc pas vraiment recevable. Par contre leur argument comme quoi par abus de langage les gens confondent crypter et chiffrer est vrai.

Reply

Marsh Posté le 04-10-2007 à 17:40:00    


Crypter permet aussi de savoir ceux qui sont dans le milieu ou non.


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 04-10-2007 à 17:48:44    

Et à ton avis, je suis de quel bord? :D Non par ce que je me sens pas vraiment du milieu moi. [:anathema]

Reply

Marsh Posté le 05-10-2007 à 09:15:23    

Effectivement, "crypter" n'existe pas : http://fr.wikipedia.org/wiki/Chiffrement
 
Je confirme aussi qu'en France, on n'a pas le droit d'utiliser des clés > 128 bits pour le chiffrement. Par contre, on a le droit de "hasher" en plus de 128 bits. md5 et sha sont des fonctions de hashage, pas de chiffrement  :o Elles sont donc parfaitement légales en France.
Petit rappel : chiffrer, c'est réversible (on peut retrouver le message d'origine via une clé), pas hasher. Une autre différence il me semble aussi : chiffrer n'induit pas de collisions, le hashage, si (2 messages différents qui donnent la même signature md5 ou sha-256).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed