PHP et password crypte Apache

Le
Diabolo et Satanas
Bonjour,

Je cherche à générer des fichiers de user/password à partir d'une base de
données et de PHP. Quelle est la fonction de cryptage du mot de passe à
utiliser ?

Merci d'avance pour votre aide

Yannick
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thibaut Allender
Le #573999

Je cherche à générer des fichiers de user/password à partir d'une base de
données et de PHP. Quelle est la fonction de cryptage du mot de passe à
utiliser ?


au choix :

# /usr/local/apache/bin/htpasswd
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
On Windows, TPF and NetWare systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Neptune
Le #574001
Bonjour,
Vous pouvez utiliser " $PW_md5=md5($PW); " et enregistrer la valeur cryptée
du mot de passe "$PW_md5" dans votre base de donnée.
Cordialement,
Michel FOUILLADE
Concepeteur et Administrateur de :
http://www.missions-courtes.com/


"Diabolo et Satanas" 407c499a$0$24528$
Bonjour,

Je cherche à générer des fichiers de user/password à partir d'une base de
données et de PHP. Quelle est la fonction de cryptage du mot de passe à
utiliser ?

Merci d'avance pour votre aide

Yannick


Paul Delannoy
Le #573771
Diabolo et Satanas a écrit:
Bonjour,

Je cherche à générer des fichiers de user/password à partir d'une base de
données et de PHP. Quelle est la fonction de cryptage du mot de passe à
utiliser ?

md5 est sans doute le meilleur choix


Diabolo et Satanas
Le #573768
Merci beaucoup pour votre aide.

Cordialement,

Yannick

"Neptune" news:c5ia8e$mb6$
Bonjour,
Vous pouvez utiliser " $PW_md5=md5($PW); " et enregistrer la valeur
cryptée

du mot de passe "$PW_md5" dans votre base de donnée.
Cordialement,
Michel FOUILLADE
Concepeteur et Administrateur de :
http://www.missions-courtes.com/


"Diabolo et Satanas" 407c499a$0$24528$
Bonjour,

Je cherche à générer des fichiers de user/password à partir d'une base
de


données et de PHP. Quelle est la fonction de cryptage du mot de passe à
utiliser ?

Merci d'avance pour votre aide

Yannick




Diabolo et Satanas
Le #573769
Merci beaucoup pour ces renseignements.

Cordialement,

Yannick

"Thibaut Allender" écrit dans le message de news:c5hsfg$1vi$

Je cherche à générer des fichiers de user/password à partir d'une base
de


données et de PHP. Quelle est la fonction de cryptage du mot de passe à
utiliser ?


au choix :

# /usr/local/apache/bin/htpasswd
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
On Windows, TPF and NetWare systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org



Eric Daspet
Le #576116
Diabolo et Satanas wrote:
Bonjour,


Bonjour,

Je cherche à générer des fichiers de user/password à partir d'une base de
données et de PHP. Quelle est la fonction de cryptage du mot de passe à
utiliser ?


Je suis étonné de ne pas voir la réponse qui me semble évidente dans les
réponses déja faites. La fonction prévue pour et relativement standard
c'est crypt().

C'est ce qui est utilisé pour les mots de passe système Unix, pour les
mots de passe des contrôles d'accès Apache et probablement pour la
plupart des authentifications classiques.
Utiliser autre chose c'est se priver d'une fonction adaptée et
spécialisées, mais surtout rompre la compatibilité avec tout les autres
applications (qui utilisent généralement crypt()).

Globalement la phase de cryptage c'est :
$motDePasseCryptéPourStockage = crypt( $motDePasseUtilisateur ) ;

Et pour la vérification :
$x = $motDePasseCryptéStocké ;
return ( $x == crypt( $motDePasseUtilisateur, $x ) );


Plus de renseignements sur http://php.net/crypt.


(et pour les fanas de md5, crypt peut aussi fonctionner avec un backend
basé sur md5, c'est d'ailleurs le mode par défaut sur certains systèmes
récents).
--
Eric Daspet
Venez aider notre mangeur de cigogne sur http://mangeur-de-cigogne.info/

Michel Belleau (malaiwah.com)
Le #575551
On 14 Apr 2004 06:56:17 GMT, "Neptune"
Vous pouvez utiliser " $PW_md5=md5($PW); " et enregistrer la valeur cryptée
du mot de passe "$PW_md5" dans votre base de donnée.


Si le SGBD utilisé est mySQL, il est aussi possible d'utiliser la
fonction "server" dans la requête.

INSERT INTO ...(id, user, passwd) VALUES(null, '$username_ok',
PASSWORD('$password'));

---
Michel Belleau Services Informatiques MALAIWAH.COM [http://www.malaiwah.com/]

lapin.killer
Le #575340
Je suis étonné de ne pas voir la réponse qui me semble évidente dans les
réponses déja faites. La fonction prévue pour et relativement standard
c'est crypt().


je me trompe peut-être, mais la fonction crypt() n'est-elle pas
limitée à 8 caractères?
je trouve que c'est vraiment peu pour un mot de passe, surtout que
beaucoup d'utilisateurs mettent les caractères non alphabetiques après
un mot plus ou moins long mais dictionnarisable, et donc tout ce qu'on
leur répète (mettez un mot de passe super long avec des caractères
speciaux) ne sert plus à rien.

Eric Daspet
Le #574741
Saloprilopette wrote:
c'est crypt().



je me trompe peut-être, mais la fonction crypt() n'est-elle pas
limitée à 8 caractères?


Seulement le backend basé sur DES classique. Sauf erreur de ma part les
autres backend comme MD5 n'ont pas cette limitation (à tester tout de
même, je peux toujours me tromper et ne voudrais pas être responsable
d'une dégradation de votre sécurité).

je trouve que c'est vraiment peu pour un mot de passe,


C'est pourtant ce qu'on utilise encore presque partout pour les systèmes
classiques. Je serai très étonné que tu ai 'besoin' de plus dans 99.99%
des cas.

surtout que
beaucoup d'utilisateurs mettent les caractères non alphabetiques après
un mot plus ou moins long mais dictionnarisable, et donc tout ce qu'on
leur répète (mettez un mot de passe super long avec des caractères
speciaux) ne sert plus à rien.


À voir, personnellement je demande de ne pas mettre de mot ou structures
trouvables par un dictionnaire, plutôt qu'essayer de rajouter des choses
derrière. Je pense sérieusement qu'une politique de môts de passe sûrs
peut se développer sans problèmes avec une limite à 8 caractères, si
vous ne vous appelez pas NSA ou Dassault Systems.

Peu importe en fait. La logique veut que la limite de vos mots de passe
système soit supérieure ou pas à celle des mots de passe que vous gérez
en applicatif[1]. Les systèmes de type Unix utilisent en interne une
fonction crypt() pour gérer ces mots de passe.
PHP utilisant par défaut la fonction crypt du système et pas une
embarquée propre à lui, si vos mots de passe systèmes (qui utilisent
aussi crypt()) peuvent utiliser plus de 8 caractères, c'est que votre
applicatif PHP le pourra aussi. Il n'y a donc aucun problème à ce niveau.




[1] Sinon vos mots de passe applicatifs avec plus de 8 caractères ne
serviraient à rien : il serait plus simple d'aller tester le mot de
passe système de l'utilisateur qui les gère. La classique histoire du
maillon le plus faible.

--
Eric Daspet
Venez aider notre mangeur de cigogne sur http://mangeur-de-cigogne.info/


Publicité
Poster une réponse
Anonyme