Fonction Md5

Mammouth du PHP | 965 Messages

18 juin 2009, 12:03

bonjour à tous messieurs!!!

tout d'abord, merci de votre aide.
alors j'ai utilisé la fonction md5(), mais au vu de ce que vous avez dis, est ce que cela suffit ou pas?
après, dans ma base de données, je vois pas de MdP en clair, donc je pense que ça doit suffire.

mais j'aimerais comprendre la différen,ce entre md5() et sha1(), l'un crypte, l'autre hashe, donc avec la fonction de cryptage, il y à une "réciprocité", donc possibilité de retrouver le MdP, et avec l'autre, le mot de passe est hashé, donc il faut en générer un nouveau...
personnellement, j'ai utilisé la 2nd méthode (sans savoir si c'est la meilleure ou pas...), et j'ai fais un formulaire de renvoi d'un MdP automatique lorsque l'utilisateur à perdu son MdP, MdP généré aléatoirement par un algo PHP!!!

que choisir?
md5() et sha1() retournent tout deux une chaîne hachée mais avec deux algorithme différents sha1() étant plus recommandé que son frère md5() mais le mieux étant d'utiliser les 2.

Pour crypter un mot de passe c'est différents tu peux utiliser des fonctions de cryptage.

Je te conseil d'utiliser sha1() et md5() avec cela le sel qui va bien et tout sera ok pour toi.

ViPHP
AB
ViPHP | 5818 Messages

18 juin 2009, 15:02

bonjour à tous messieurs!!!

tout d'abord, merci de votre aide.
alors j'ai utilisé la fonction md5(), mais au vu de ce que vous avez dis, est ce que cela suffit ou pas?
après, dans ma base de données, je vois pas de MdP en clair, donc je pense que ça doit suffire.

mais j'aimerais comprendre la différen,ce entre md5() et sha1(), l'un crypte, l'autre hashe, donc avec la fonction de cryptage, il y à une "réciprocité", donc possibilité de retrouver le MdP, et avec l'autre, le mot de passe est hashé, donc il faut en générer un nouveau...
personnellement, j'ai utilisé la 2nd méthode (sans savoir si c'est la meilleure ou pas...), et j'ai fais un formulaire de renvoi d'un MdP automatique lorsque l'utilisateur à perdu son MdP, MdP généré aléatoirement par un algo PHP!!!

que choisir?
md5() et sha1() retournent tout deux une chaîne hachée mais avec deux algorithme différents sha1() étant plus recommandé que son frère md5() mais le mieux étant d'utiliser les 2.

Pour crypter un mot de passe c'est différents tu peux utiliser des fonctions de cryptage.

Je te conseil d'utiliser sha1() et md5() avec cela le sel qui va bien et tout sera ok pour toi.
Encore une fois, sha1() - hash sur 40 caractères - a été conçu pour améliorer les performances du md5() - hash sur 32 caractères . Donc sauf en cas de besoin de compatibilité avec d'anciens scripts utilisant le md5(), il est recommandé d'utiliser sha1().

Je vois pas d'intérêt à utiliser conjointement les deux.

Mammouth du PHP | 965 Messages

18 juin 2009, 15:16

Parce que :
  public function setPassword($password)
  {
    $salt = md5(rand(100000, 999999).$this->getEmail());
    $this->setSalt($salt);
    $this->setSha1Password(sha1($salt.$password));
  }
C'est dans un tutoriel symfony alors je c'est ce que je fais maintenant disons que la c'est sécurisé on ne peut mieux. Non ?

ViPHP
AB
ViPHP | 5818 Messages

18 juin 2009, 15:35

Parce que :
  public function setPassword($password)
  {
    $salt = md5(rand(100000, 999999).$this->getEmail());
    $this->setSalt($salt);
    $this->setSha1Password(sha1($salt.$password));
  }
C'est dans un tutoriel symfony alors je c'est ce que je fais maintenant disons que la c'est sécurisé on ne peut mieux. Non ?
Bof ce n'est pas le fait que le salt soit hashé en md5 plutôt qu'en sha1 qui fait la sécurité de la fonction.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 juin 2009, 18:10

Et pourquoi ne pas faire une méthode qui ferait appel à md5 6 fois de suite, puis appelerait ensuite sha 14 fois ? Comme ça on est vraiment sur de sécuriser à mort non ? :)

Quoi qu'on peut aussi faire appel à md5 26 fois, et à sha 42 fois... ou mieux encore, alterner 73 appels de md5 avec 432 appels à sha !

Bon, alors bien sur, va falloir 3h pour chiffrer le mot de passe pour pouvoir le stocker en base et autant lors de l'authentification d'un utilisateur pour les comparer, mais question sécurité, tu trouveras pas mieux ! :)

...

sauf si tu fais 806 appels à md5 puis... 8-|
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...