|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 16 ![]() |
Bonjour à tous,
Je développe présentement un site web en php, et je tente de faire fonctionner mon système de login/password, mais avec le mot de passe crypté. Je n'ai aucuns problèmes à le faire fonctionner sans cryptage, mais j'ai un petit problème avec le cryptage. Lorsque je crée une nouvelle entrée de compte, j'encrypte le mot de passe avant de l'envoyer dans la base de donnée à l'aide de la fonction $crypt, mon code est le suivant : Code :
Dans la base de donnée, le mot de passe apparait encrypté, donc la n'est pas le problème. Le problème viens du fait que lorsque je tente de me connecter, il ne reconnait pas le mot de passe lorsqu'il est encrypté. J'exécute le code suivant : Code :
J'imagine que sa ne fonctionne pas car la fonction crypt ne donnera pas toujours exactement la même chaine pour l'encryption d'un même mot de passe, et c'est pourquoi sa ne fonctionne pas, mais il doit forcément avoir une solution. J'ai une bonne base C++, mais je débute en php, donc je ne connais pas encore beaucoup de choses, et j'ai peut-être passé à coté d'un détail très insignifiant. J'aimerais avoir un peu d'aide avec cela, car je n'aime pas vraiment l'idée de laisser tous mes mots de passes non encryptés... Merci ! -Winder |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
Salut,
Alors je ne sais pas exactement ce que la fonction crypt fais mais je sais que pour crypter des mots de passe il est conseillé d'utiliser la fonction md5 ou alors encore mieux : hash(SHA256, $tonMotDePasse) car md5 n'est plus assez sûr paraît-il. Tu as aussi quelques erreurs de conception dans ta requête sql c'est pourquoi je me permet de te réécrire le code: Code :
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
||
|
00
|
|
|
#3 |
|
Membre émérite
![]() Franck Développeur Web indépendant Inscription : avril 2007 Messages : 678 ![]() |
bonsoir,
En effet suis le conseil de Yoteco. Sinon une petite astuce, car pour ma part il m'est arrivé de faire ce genre d'erreur. Je ne sais pas combien de caractère retourne la fonction crypt, mais assure toi que dans ta base de donnée tu ne limite pas de trop les caractères de ton pass, ce qui couperais le résultat escompté. Car quand j'ai commencé en PHP, je faisais d'abord des tests en clair et avait limité mes caractères à 20 pour un mot de passe, puis quand je suis passé au MD5, j'ai perdu du temps à trouver l'erreur alors qu'il me fallait augmenter le nombre de caractères possible pour le pass... Voilà bonne soirée ++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle |
|
00
|
|
|
#4 |
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
MD5 ==> 32 caractères.
SHA256 ==> 64 caractères.
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
|
00
|
Copyright © 2000-2012 - www.developpez.com