Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
[MD5]Hexa ou $1$ ?
Envoyé par: jak0lantash

Bonjour,

Je vous demande un peu d'aide concernant le MD5. Je ne connais pas trop les mécanismes de génération d'un MD5. Et j'aurai quelques petites questions à ce sujet ^^
Premier cas, quand je génère un MD5 via PHP ou MySQL, ça me donne un résultat en hexa.
Par exemple, le mot 'secret' :
mysql> select MD5('secret');
+----------------------------------+
| MD5('secret')                    |
+----------------------------------+
| 5ebe2294ecd0e0f08eab7690d2a6ee69 |
+----------------------------------+
Mais quand j'utilise un MD5 généré par Linux, ca me sors un truc ommençant par $1$ :
root@sd-***:~# userdbpw -md5
Password:secret
$1$6NjG3t8G$rl8LR9kxqsuOnkTRCV8wh0
Pourquoi est-ce différent ??
Deuxième cas, je suis entrain d'installer un serveur Courier qui utilise une BDD MySQL pour les utilisateurs virtuels. Je stocke mes mots de passes en MD5 Hexa, et Courier nécessite des MD5 $1$. Comment je fais pour les convertir ??

Merci d'avance de vos réponses.

Poste le Monday 18 February 2008 12:10:07
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?

Utilises la commande md5sum (qui s'applique sur un fichier)

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 18 February 2008 14:04:58
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: jak0lantash

Oui, cette commande génère effectivement un MD5 en Hexadécimal...
Toutefois, lors de l'implémentation sur un serveur type VsFTPd ou Courier, la commande userdbpw -md5 génère, elle, une chaîne qui n'est pas de l'hexa.
Je ne veux pas savoir comment on génère de l'hexa, ça je sais faire :-))
Je souhaiterai juste connaître la différence entre ces deux chaînes et savoir comment passer de la première vers la deuxième... ];-)

Poste le Monday 18 February 2008 14:45:23
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?

C'est peut-être uuencodé!

le vrai md5 est une suite de 16? octets arbitraires

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 18 February 2008 14:47:40
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: jak0lantash

Y a une commande sous Linux pour le uuencode ?

Poste le Monday 18 February 2008 15:02:07
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: nicola

Oui, cherche dans ta distribution, et cherche aussi uudecode.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 18 February 2008 15:05:32
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: jak0lantash

[doc.ubuntu-fr.org]

:-/:-(:-/

J'ai rien trouvé sur ma distrib et sur uuencode...

Poste le Monday 18 February 2008 18:56:04
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: nicola

dpkg -S uuencode me renvoie le paquet sharutils.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 18 February 2008 20:21:02
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: jak0lantash

Ok, j'ai même fait un aptitude install sharutils, mais derrière un uuencode ne donne rien, pas plus qu'un locate uuencode...

Poste le Monday 18 February 2008 20:49:16
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?

uuencode est un filtre. Il attend quelque chose en entrée.
 % echo bonjour | uuencode /dev/stdout
begin 644 /dev/stdout
(8F]N:F]U<@H`
`
end
man uuencode

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 18 February 2008 20:52:52
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: jak0lantash

Faut-il encore que la commande uuencode ne dise pas fichier introuvable...

Poste le Monday 18 February 2008 21:27:23
Répondre     Citer    
Re: [MD5]Hexa ou $1$ ?
Envoyé par: jak0lantash

J'ai finalement réussi à obtenir un élément de réponse.

En fait, c'est plus un salt crypt de md5 que du md5...
Si tu prend la chaîne : $1$6NjG3t8G$rl8LR9kxqsuOnkTRCV8wh0
Les $ sont en faite des balises permettant de séparer les paramètres.
Le premier paramètre, ici 1, indique que la fonction de hash utilisée est MD5 (1->md5, 2a->blowfish)
Le second paramètre, ici 6NjG3t8G, indique la chaîne de salt.
Le dernier paramèter, ici rl8LR9kxqsuOnkTRCV8wh0, est résultat du cryptage.

J'ai réussit à obtenir ce même résultat en utilisant la fonction PHP :
crypt($str, $salt)
Un exemple :
chaine = string
sel = $1$salt
cryptage = crypt("string", "$1$salt") = $1$salt$zQ85DZwaOPzoVL57BgVNP0

Donc, c'est un crypt de MD5 ou un truc du genre...

Par contre, ça ne résoud toujours pas mon problème de reconnaissance des mots de passes encrypté en MD5 par Courier-MTA...

Poste le Tuesday 19 February 2008 12:59:18
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
[MD5]Hexa ou $1$ ?
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons