[Resolu][php-mysql] cryptage de données

cryptage de données [Resolu][php-mysql] - PHP - Programmation

Marsh Posté le 15-11-2003 à 13:32:01    

Bonjour à tous :)
 
 
J'ai un petit site sur lequel il y a un espace membre. Les mots de passe des membres sont stockés dans la bdd, dans une table "utilisateur" qui a comme champs : nom, prenom, mail, et password, tous en varchar.
J'aimerais crypter le mot de passe dans la base.
 
J'ai essayé PASSWORD() et ENCODE(), mais je n'ai pas réussi à les "syntaxer" correctement manifestement. Voici mes requêtes, variables php inside :
 
SELECT `nom`, DECODE(`password`,'yop') FROM utilisateur WHERE ((`nom` = '$log_user'))
 
INSERT INTO `utilisateur` (`nom`, `mail`, `password`, `prenom`) VALUES ('$nom', '$email', ENCODE('$passwd','yop'), '$prenom');
 
Toutes les variables php étant des chaînes de caractères.
 
Qu'est-ce qui ne va pas, et éventuellement, avez-vous une méthode ou un lien vers une méthode pour crypter correctement un mot de passe dans une bdd ?
 
Merci ! :)


Message édité par cosmoschtroumpf le 16-11-2003 à 13:08:14
Reply

Marsh Posté le 15-11-2003 à 13:32:01   

Reply

Marsh Posté le 15-11-2003 à 13:58:18    

tu utilise php? utilise un truc comme md5 :D


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 15-11-2003 à 15:10:35    

burgergold a écrit :

tu utilise php? utilise un truc comme md5 :D


md5 c'est du hashing  
 
pour le cryptage fonction crypt();
 
[:psywalk]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 15-11-2003 à 15:20:08    

ca fait le même boulot
 
tu md5 ton password, le stock dans la db
lorsque le mec se log, il t'envoit le password, tu le md5, tu compare avec celui dans la db et voila :D
 
et en plus, personne peut le décrypter :D


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 16-11-2003 à 01:02:46    

merci beaucoup :)
 
effectivement, le md5 marche très bien et est très bien adapté à ce que je veux faire
 
merci ! :)
 
Sinon, hors-sujet mysql, mais pendant que je vous tiens :D, la fonction crypt(), ca génère une chaîne aléatoire avec, non ? Et c'est pas décryptable ? Alors, elle sert à quoi si on peut pas récupérer les données cryptées ?

Reply

Marsh Posté le 16-11-2003 à 01:12:48    

<hors sujet>
jai deja pense a des trucs de fou avec le md5, genre dans plusieurs dizaines d'annees on aura des pc de ouf, on aura qua donner une string md5 a qqn (tien vla mon dernier divx) puis apres le pc calcule toutes les possibilites et reconstitue le film  :pt1cable:  (bon je c ya des collisions mais bon on pourait faire un crc decu en +)
<\hors sujet>


Message édité par red faction le 16-11-2003 à 01:14:24
Reply

Marsh Posté le 16-11-2003 à 01:19:49    

Cosmoschtroumpf a écrit :


Sinon, hors-sujet mysql, mais pendant que je vous tiens :D, la fonction crypt(), ca génère une chaîne aléatoire avec, non ? Et c'est pas décryptable ? Alors, elle sert à quoi si on peut pas récupérer les données cryptées ?


Bin pareil que pour MD5, tu compares deux versions cryptées !
Sauf que MD5 est un algorithme de hashage comme l'a dit simogeo, c'est pas le but de MD5 de protéger des passwords.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 16-11-2003 à 01:24:27    

red faction a écrit :

<hors sujet>
jai deja pense a des trucs de fou avec le md5, genre dans plusieurs dizaines d'annees on aura des pc de ouf, on aura qua donner une string md5 a qqn (tien vla mon dernier divx) puis apres le pc calcule toutes les possibilites et reconstitue le film  :pt1cable:  (bon je c ya des collisions mais bon on pourait faire un crc decu en +)
<\hors sujet>

non. Le PC pourra te calculer une vidéo ayant le même md5. Mais il pourra pas te donner la bonne parmi l'infinité de vidéos possible [:proy]


Message édité par mrbebert le 16-11-2003 à 01:24:55
Reply

Marsh Posté le 16-11-2003 à 01:41:44    

mrBebert a écrit :

non. Le PC pourra te calculer une vidéo ayant le même md5. Mais il pourra pas te donner la bonne parmi l'infinité de vidéos possible [:proy]


 
yen a tant que ca ?  :sweat:  si on donne la taille par exemple...
 
et que je fait un autre test (crc ) et que je le donne en meme temps que mon md5???

Reply

Marsh Posté le 16-11-2003 à 01:44:54    

même en précisant la taille, il y en a quasiment une infinité.
Sinon, tu serais en train de dire que tout fichier peut être compressé sans perte avec une taille correspondant à celle d'une clé md5 :pt1cable:  
 
Ce serait trop beau [:proy]


Message édité par mrbebert le 16-11-2003 à 01:45:49
Reply

Marsh Posté le 16-11-2003 à 01:44:54   

Reply

Marsh Posté le 16-11-2003 à 02:41:29    

dans plusieurs dizaines d'années, 1 vidéo ca va être aussi banal qu'un mp3


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 16-11-2003 à 13:07:05    

Taiche a écrit :


Bin pareil que pour MD5, tu compares deux versions cryptées !
Sauf que MD5 est un algorithme de hashage comme l'a dit simogeo, c'est pas le but de MD5 de protéger des passwords.


 
ben heu non pour crypt, parce que j'ai fait un programme con genre :
 
<?php
echo crypt("hop" );
echo "<br>";
echo crypt("hop" );
?>
 
et quand je rechargeait la page, ca me donnait a chaque fois un resultat different pour les deux...... alors, comparer le resultat avec quoi ?

Reply

Marsh Posté le 16-11-2003 à 13:20:27    

Bin écoute, chu pas un expert de crypt() mais il me semble que c'est pas un random non plus. Pour plus d'infos, RTFM : http://www.php.net/manual/fr/function.crypt.php


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 16-11-2003 à 14:36:40    

Cosmoschtroumpf a écrit :


 
ben heu non pour crypt, parce que j'ai fait un programme con genre :
 
<?php
echo crypt("hop" );
echo "<br>";
echo crypt("hop" );
?>
 
et quand je rechargeait la page, ca me donnait a chaque fois un resultat different pour les deux...... alors, comparer le resultat avec quoi ?


 
crypt utilises un grain de sel. --> variable "chaine"  associé lors de la génération du cryptage.
 
tu peux lui fournir toi même un grain de sel. Si tu ne le fais pas, la fonction en generera un aleatoirement.
 
Dans ce cas,  
si crypt("hop" ); te renvoie dfTfNJoikTg alors "df" est le grain de sel genéré lors du cryptage.  
 
pour comparer les variables cryptées, tu vas donc recuperer les 2premiers caracteres de la varibale cryptée dont tu disposes pour l'utiliser comme grain de sel pour encoder la variable entrée par l'utilisateur.
 
 
ou plus simplement attribuer toi même un grain de sel.

Code :
  1. <?php
  2. echo crypt("hop", "sl" );
  3. echo "<br>";
  4. echo crypt("hop", "sl" );
  5. // t'affichera le même resultat
  6. ?>


Message édité par simogeo le 16-11-2003 à 14:37:24

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 16-11-2003 à 14:38:52    

simogeo: une clé d'encryption, faut pas avoir peur d'appeler ca ainsi même si le mec connait pas


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 16-11-2003 à 19:58:30    

Ah, c'est donc ça un grain de sel... J'avais vu sur le manuel que j'ai un truc genre "crypt utilise un grain de sel"... Si ils avaient dit une clé de cryptage, j'aurais compris :p
 
Merci beaucoup à tous en tout cas :)

Reply

Marsh Posté le 17-11-2003 à 09:56:35    

J'ai un trou la... Quelle fonction utiliser pour crypter/decrypter un password (crypt() c'est bien mais c'est uniquement dans un sens)?

Reply

Marsh Posté le 17-11-2003 à 10:06:08    

Oki j'ai retrouvé, Mcrypt. Par contre quel algo utiliser pour une securité max?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed