Auteur Sujet: Cryptage Password  (Lu 1916 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Mikado

  • Connaisseur
  • ***
  • Messages: 252
    • Chez-Godzi
Cryptage Password
« le: 25 avril 2003 à 22:49:28 »
Je ne souhaite pas que les mots de passe de mes visiteurs soient enregistrés en clair dans ma BDD.
Je recherche donc un script (ou un tuto) pour transformer un password en une chaine de 20 ou 30 caractères (MD5, checksum?) et bien entendu un script pour faire l'inverse.
A votre bon coeur...
"Il est plus facile de jouer au mikado avec des spaghettis crus qu'avec des cuits" (Philippe GELUCK).
-------------------

Hors ligne Bruno II

  • Débutant
  • *
  • Messages: 73
    • http://
Cryptage Password
« Réponse #1 le: 25 avril 2003 à 22:57:28 »
Euh ben je crois qu'un truc de ce genre marcherait :

<?
// $login est le champ "login" sur une page d'identification
// $pass est le champ de password sur cette même page
$exec = mysql_query("SELECT * FROM utilisateurs WHERE login = '$login' AND password = password($pass)");
$verif = mysql_num_rows($exec);
if ($verif == 1) {
// Authentification OK
} else {
// L'authentification a échoué.
};
?>

La fonction password($pass) en SQL crypte le password en MD5...

Ce qui signifie que quand l'utilisateur s'enregistre, tu dois absolument activer cette fonction également :

<?
// Mêmes variables que précédemment !
$exec = mysql_query("INSERT INTO utilisateurs (login, password) VALUES ('$login', password($password))");
?>

J'espère que c'est assez clair ?  &lt;_&lt;  
« Modifié: 25 avril 2003 à 23:06:28 par Bruno II »
Eating life since 1987.

Hors ligne maverick78

  • VIP
  • *****
  • Messages: 2 601
    • http://www.clan-ck.com
Cryptage Password
« Réponse #2 le: 25 avril 2003 à 22:57:56 »
il suffit de faire :
$variable = md5($variable);

par contre l'inverse est impossible
La force est dans la céréale
Clan cereal-killer : http://www.clan-ck.com

Ne te demande pas ce que ton pays peut faire pour toi mais plutôt ce que tu peux faire pour ton pays...(JF Kennedy)

Hors ligne Mikado

  • Connaisseur
  • ***
  • Messages: 252
    • Chez-Godzi
Cryptage Password
« Réponse #3 le: 25 avril 2003 à 23:11:56 »
Je crois que Bruno n'a pas bien compris ce que je cherche à faire, alors je vais détailler.

Un visiteur s'enregistre avec le login Toto et le pass Titi.

1 - pour une raison de sécurité, je ne veux pas que Titi soit stocké dans ma table MySQL donc je veux transformer Titi en 4ezU8e2gj2k22hR1ZZ02sd.

2 - ensuite, quand Toto se loguera je devrai vérifier que le pass saisi (Titi) correspond bien à 4ezU8e2gj2k22hR1ZZ02sd.

Comme indiqué par Maverick, le script 1 est facile à faire avec un MD5, mais l'inverse n'est pas possible.

En fait ce que je veux faire, c'est ce qui se fait dans le forum IBF lors de l'inscription d'un nouveau membre, mais je n'ai pas été foutu de retrouver le code...
"Il est plus facile de jouer au mikado avec des spaghettis crus qu'avec des cuits" (Philippe GELUCK).
-------------------

Hors ligne maverick78

  • VIP
  • *****
  • Messages: 2 601
    • http://www.clan-ck.com
Cryptage Password
« Réponse #4 le: 25 avril 2003 à 23:36:47 »
lors de l'inscription :
formulaire:
nom toto
pass titi
ensuite enregistre toto et md5(titi) dans ta base

lors de la connexion tu verifie que
login_entre = logindelabase
md5(pass_entre) = passdelabase
La force est dans la céréale
Clan cereal-killer : http://www.clan-ck.com

Ne te demande pas ce que ton pays peut faire pour toi mais plutôt ce que tu peux faire pour ton pays...(JF Kennedy)

Hors ligne microtom

  • Connaisseur
  • ***
  • Messages: 315
    • http://www.biophyse.net
Cryptage Password
« Réponse #5 le: 25 avril 2003 à 23:49:28 »
je ne veux pas que Titi soit stocké dans ma table MySQL Utilises les sessions ou les cookies, ou les 2

Pour le reste la démarche est identique à ce qu'a écrit Maverick78 :
formulaire
identification
cryptage mdp via md5()

la chaîne bizaroïde qu'il y a dans l'url de ce forum : le "s" suivi d'une chaine alphanumérique est l'identifiant de session à priori

Hors ligne Mikado

  • Connaisseur
  • ***
  • Messages: 252
    • Chez-Godzi
Cryptage Password
« Réponse #6 le: 26 avril 2003 à 00:16:25 »
Mille excuses à Bruno, en fait c'est moi qui ai mal compris son code.
Pour la peine, je vais l'adopter  ;) euh...son code, pas Bruno :lol:

De plus, j'étais persuadé (allez donc savoir pourquoi) que 2 MD5 sur une même chaîne ne donnaient pas le même résultat... un peu comme avec une checksum. Va falloir que je révise...  
"Il est plus facile de jouer au mikado avec des spaghettis crus qu'avec des cuits" (Philippe GELUCK).
-------------------

Hors ligne Bouki

  • Habitué
  • **
  • Messages: 244
    • http://www.scripetudes.net
Cryptage Password
« Réponse #7 le: 27 avril 2003 à 01:48:22 »
$truc = md5("chaine de caractère");

pour le cas du md5 tu peux pas le décrypter sans dico et même avec un dico ca te prendrais des millénaires...
c'est pour ça que le md5 est sécurisée. (je vais pas dire comment md5 crypte ca si bien mais pour plus de détails je suis là ou y'a des ressources sur le web).
Bouki
oO .:: [ Mage développeur Bouki ] ::. Oo


Hors ligne Bruno II

  • Débutant
  • *
  • Messages: 73
    • http://
Cryptage Password
« Réponse #8 le: 27 avril 2003 à 10:41:02 »
Je crois que la fonction password() - qui est une fonction SQL, pas PHP ! - est l'équivalent de la fonction MD5(); en PHP...
Mais bon, ça j'en suis plus très sûr...  :unsure:

@ Mikado : J'ai déjà reçu d'autres propositions d'adoption, si tu veux je peux t'envoyer un devis...
**SBAAAF !!**
Gneuh.  
Eating life since 1987.