--
Je ne vois pas l'intérêt. Ce qui permet l'accès reste la clé, à la charge de l'utilisateur.
A quoi sert le mot de passe en base de données, exactement ?
Salut
J'ai l'impression que tu as simplement inversé les termes : ta clef est en fait le mot de passe, et ton mot de passe est en fait la clef.
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Ca change rien à ma question : à quoi sert la partie qui est conservée sur le serveur, celle qui est chiffrée avec l'info de l'utilisateur ? Je pige pasEnvoyé par Yogui
C'est le grain de sel.
Tu enregistres un grain de sel pour tout le site ou pour chaque utilisateur et tu l'utilises pour modifier le mot de passe (contacténation, ce que tu veux). C'est cette nouvelle chaîne que tu cryptes avant de la stocker en BDD et c'est elle que tu utiliseras en lieu de mot de passe.
C'est une pratique très utilisée.
Exemple par Chris Shiflett
Stockage du mot de passe :
Comparaison du mot de passe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php /* $password contains the password */ $salt = 'DEVELOPPEZ'; $password_hash = md5($salt . md5($password) . $salt)); /* Store password hash */ ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php $salt = 'DEVELOPPEZ'; $password_hash = md5($salt . md5($_POST['password']) . $salt)); /* Compare password hashes */ ?>
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Oué, ça je comprends... C'est pour augmenter l'entropie du hashage ?Envoyé par Yogui
Mais c'est bien ça qui est fait ici ???
Merci beaucoup Chris Shiflett !Envoyé par Yogui
![]()
Il serait intéressant de le mettre dans les sources PHP, non ?
Gôm
Un exemple reprennant l'essemble des rêgles de sécurité serait plus approprié.
Stockage du mot de passe :
Comparaison du mot de passe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php $password_hash = $_POST['md5_password']; // pasword hshé du côté client /* Store password hash */ ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php // $salt dynamique stocké dans une variable de Session, et mise à connaissance du client via un JS dans la page précédement envoyé $password_hash = md5($salt . $md5_password . $salt)); /* Compare password hashes */ // ($password_hash == $_POST['md5_passwordAndSalt']) ?>
Tu as conservé ta sémantique pour écrire ce dernier message ou bien tu as repris la terminologie du reste du monde ?
[Edit] Ce qui est appelé "mot de passe" est une chaîne choisie par l'utilisateur (ou du moins qu'il possède et utilise), tandis que la "clef" ne lui est pas nécessairement communiquée (puisque c'est une donnée automatisée).
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Je n'ai pas devinné que mon vocabulaire portait à confusion, je reprends.
En consiérant 3 chaînes de caractères, A, C, RA.
A est crypté avec la clé d'encryption C et donne RA, résultat de l'encryption.
J'utilise une encryption à clé plus sûre que le MD5 qui a été cassé.
J'ai un site où j'utilise une seule clé d'encryption pour toutes les encryptions et je garde cette clé dans un fichier de configuration.
Est-ce que, encryptant tous les mot de passes avec cette même clé, l'utilisateur gagnerait en sécurité en changeant régulièrement son mot de passe ?
on gagne toujours en sécurité en changeant souvent de mot de passe.
point de vue vocabulaire, je ne crois pas qu'on parle de clé pour un algo de hash, vu que la "clé" ne permet pas l'opération inverse.
C'est quoi que tu utilises comme algo, par curiosité ?
Ce n'est pas dit, parce que cela doit dépendre du bon choix du traitement fait au MDP.Envoyé par Eusebius
Si l'on a deux séries A[] et RA[] (de longuer n) de chaînes de caractère, et une chaîne de caractère C qui sert de clé d'encryption.
Où un élémént RA[x] correspond à l'encryption de l'élément A[x] avec la clé C.
Le hacker potentiel connait A[] et RA[] n'aurait-il pas d'autant plus facile à retrouver C que ces séries seraient longues ?
AES implémenté dans MySQL IciEnvoyé par Eusebius
Partager