PDA

Voir la version complète : cryptage des mot de pass sous vb


DarkworlD
17/02/2005, 12h08
et bien voila je suis actuellement en cour de codage d'un script tcl pour mon eggdrop censé me facilité l'ajout de membre en les ajoutan par irc a l'aide d'un tigger du style :

!adduser <pseudo>|<pass>|<mail>|[<groupe>]

*la valeur entre crochet étant facultative


cepandan un problem ce pose celui du cryptage du mot de pass

comment celui ci est il crypter ?

finereader
17/02/2005, 12h24
Il me semble que le mot de passe est crypté via la méthode MD5, dite de "hachage" du mot de passe en une série de caracteres.

Cette methode est non reversible donc il est impossible de retrouver le mot de passe a partir d un hash MD5

Akex
17/02/2005, 12h44
Trois informations sont nécéssaires :

- le mot de passe que tu donnes à tes membres
- une clé aléatoire différente pour chauque membre champ salt dans la table user
- Le numéro de ta licence Lxxxxxxx

Ensuite le hash md5 enregistré dans la base de données est obtenu comme ceci :

md5(md5(md5($password) . $salt) . Lxxxxxxx)

DarkworlD
17/02/2005, 12h55
le num de licence est enrengistrer dans une table? si oui laquel ?

et pour le salt comment peut il exister quand l'user n'as pas encor été cré ?

comme ca je la récupere en meme temps
et je peut faire mon cryptage

Genschi
17/02/2005, 13h10
La liscence est pas dans une table mais dans les fichiers (je sais pas si je peux dire lesquels) !
Ba le salt c'est un champ, donc qu'il y ai l'utilisateur ou pas il est quand meme la, et une fois que tu crée un utilisateur il aura une colone salt !

Akex
17/02/2005, 13h16
Le numéro de licence apparait dans l'entete de tous tes fichiers php

DarkworlD
17/02/2005, 13h27
oui mais si j'ai bien compris le salt est la clé du cryptage pour l'utilisateur

donc si j'ai tout compris c une clé cré aléatoirement quand tu cré un user qui va servire de base au cryptage ?

Genschi
17/02/2005, 15h30
Le numéro de licence apparait dans l'entete de tous tes fichiers php

jpensais pas la lol, jpensais pour le hachage.

Akex
17/02/2005, 15h32
oui mais si j'ai bien compris le salt est la clé du cryptage pour l'utilisateur

donc si j'ai tout compris c une clé cré aléatoirement quand tu cré un user qui va servire de base au cryptage ?

Le salt est en effet une clé qui différencie chaque utilisateur. Donc il faudra que tu le créé en meme temps que le mot de passe etc ...

DarkworlD
17/02/2005, 16h11
merci bien
si vous le souhaitez je peut vous tenir informer de l'état d'avancement du script si celui ci vous interesse ?

sinon j'ai deja coder un script pour avoir les 5 dernier post et 5 dernière reply

Akex
17/02/2005, 18h11
Pour le script irc, si tu veux le poster apres sur ce forum, ce sera avec plaisir :)

DarkworlD
17/02/2005, 18h40
ok je préparerai ca pour le mettre

HiDeo
18/02/2005, 13h56
sinon j'ai deja coder un script pour avoir les 5 dernier post et 5 dernière reply

Pour avoir ca depuis IRC ???

Si c'est le cas oui je ne connaisais pas ce genre de hack ;)

DarkworlD
19/02/2005, 02h05
et bien je préparerai tout ca :p
en précisan les condition d'utilisation

sinon pour les mot de passe une derniere question au niveau de la licence il faut juste mettre le Num de licence ou alors le num précédé de L

exemple :

154234154
ou
L126465141

finereader
19/02/2005, 02h10
fo le ptit L devant..

DarkworlD
19/02/2005, 02h11
merciiii

DarkworlD
19/02/2005, 02h38
hum en fait me faudrai toute les info rentré lors d'une inscription si possible

merci d'avance

pour le moment voici les champs que j'ai renseigner :

INSERT INTO $db(tableprefix)user (username, email, password, usergroupid, displaygroupid, salt, joindate, passworddate) VALUES ('$pseudo', '$mail', '$Crypt_Pass', '$groupe', '$groupe', '$salt', '$joindate', '$passworddate')

DarkworlD
19/02/2005, 04h40
bon tout est ok pour les insertion je pense avec ses champ me manque juste le coppa car a chaque création d'user il me le met en attente de Coppa

Akex
19/02/2005, 12h43
Désactive l'option coppa dans l'admincp

DarkworlD
19/02/2005, 21h34
elle est desactiver mais comme j'ajoute les utilisateur sans passer par le site et directement par la BDD il ne doit pas prendre en compte le statu NON COPPA (celui ci est-il inscrit dans la table user ?)


sinon pour le cryptage apparement ca va pas ...
si quelqu'un comprend voici mon code :

set Crypt_Pass [md5::hmac "$salt" "$pass"]
set Crypt_Pass [md5::hmac "$board(vblicence)" "$Crypt_Pass"]
set Crypt_Pass [md5::md5 "$Crypt_Pass"]

si vous pouvver me confirmer que c'est bien comme ca que le code est crypter par VB ...

Akex
19/02/2005, 21h42
Non pas comme ça, regarde plus haut j'ai donné l'ordre :)

DarkworlD
20/02/2005, 00h00
oui mais en tcl l'odre est [md5:: "clé" "chaine a crypter"]

donc si ej décompose ta fonction ca me donne :

md5(md5(md5($password) . $salt) . Lxxxxxxx)

soi :
md5(chaine) . clé)

md5($password) . $salt > result 1
md5(result 1) . Lxxxxxxx > result 2
md5(result 2)

si je me suis tromper en decomposant dit le moi .. mais je pense avoir juste ...

Akex
20/02/2005, 00h56
Oui sauf que ce ne sont pas des clés, mais de la concaténation de chaine

DarkworlD
20/02/2005, 00h58
cad ?

DarkworlD
21/02/2005, 02h30
Oui sauf que ce ne sont pas des clés, mais de la concaténation de chaine

je comprend pas le mot concaténation !... :confused:

lol j'doit etre un peut dans l'paté ou alors j'ai bocoup d'mal ...

Genschi
21/02/2005, 03h04
La concatenation c'est le point en fait, genre

echo 'Je m\'apelle ' . $nom . ' et c\'est cool';

Donc en fait c'est juste le point :p

Par contre jpeux pas t'aider en ce qui concerne ce que tu veux faire lol !

Ps: Heureusement que y'a les couleurs dans la balise php car j'avais oublié les antislashes pour les apostrophes ^^

DarkworlD
21/02/2005, 03h32
ahh donc dans le cas de :
md5(md5($password) . $salt)

imaginons password = 0000
et salt = abc

ca donne :
md5(password) = a0b1c2d3vbbstretrn
et
md5(md5($password) . $salt) donne donc > md5(a0b1c2d3vbbstretrn . $salt)
donc comme il sagit d'une concatenation ca donne :

md5(a0b1c2d3vbbstretrnabc)

Akex
21/02/2005, 10h02
Voilà :)

DarkworlD
21/02/2005, 13h55
okiiiiii en fait ca ce met a la suite sans espace !!!!

et merde moi qui m'était fait chier un maxxxx avec les fontcion de cryptage avec clé de tcllib :p lol

DarkworlD
21/02/2005, 14h19
bon j'ai modif mon cryptage mai tjr ce pb d'utilisateur COppa et un autr qui me dit que l'utilisateur existe pas encor quand je veut aller voir son profil

j'en deduis qu'il me manque des chose dans la fiche user de la BDD ou meme a d'autre endroi

si c possible d'avoir tout ce qui est inséré dans la bdd quand on ajoute un user !

DarkworlD
24/02/2005, 03h40
pas de rréponse ...?

DarkworlD
26/02/2005, 04h20
sniff on m'a oublier....

Phoejess
30/05/2006, 17h34
Bonjour

Pourriez vous m'indiquer ou je peux récupérer la liscence Lxxxxx ? Je ne la trouve pas et j'en ai absolument besoin.

Merci beaucoup.

finereader
30/05/2006, 18h31
Tres simple Phoejess, identifiez vous sur http://members.vbulletin.com (http://members.vbulletin.com/)

puis a gauchez cliquez sur DOWNLOAD VBULLETIN, et la vous aurez votre numéro de licence rattaché au nom du fichier.

Sinon plus facilement, ouvrez votre fichier index.php à la racine de votre forum Vbulletin et dans l entete vous aurez votre numéro de licence egalement, de style :

vBulletin 3.5.4 - Licence Number Lxxxxxxxx

finereader
30/05/2006, 18h34
sniff on m'a oublier....

Non non pas du tout mais tu dois mettre à jour tes informations de licence S'il te plait.

après plus de 50 Messages tu ne t'es toujours pas authentifié sur le site de Vbulletin.org en tant que licencié, car pour le moment tu apparais comme n'ayant acheté aucune licence Vbulletin.

DarkworlD
18/09/2006, 02h15
bon bah apres un arret de developement de mon script je m'y remet depuis que je rebosse activement sur VBulletin.

et j'aimerai si possible savoir la totalité des info entrées en BDD lors d'une création de compte et savoir quel fichier gère le cryptage des mot de pass sur VBulletin afin d'étudier comment sont généré le SALT et le PASS.

Merci d'avance pour ces informations qui seront pour moi très importante a la finition de ce script que je n'oublierai pas de diffuser sur VBulletin-Fr.org :)

Merci d'avance !

vegeta_99
18/09/2006, 02h21
je serais trés intéréssé par un tel script
bonne chance a toi pour la conception et merci a ceux qui pouront t'aider

bogz
03/10/2006, 17h03
Bonjour,
Je suis sur le même problême mais en php, souhaitant insérer mon utilisateur sans l'obliger à se réinscrire sur le forum.
Ma licence ne commence pas par la lettre L mais est du type : VBF*******

Voici mon script :

$requete=mysql_db_query($sql_bdd2,"select password, salt from user where username='bogz'",$db_link2) or die(mysql_error());
if(mysql_num_rows($requete)){
$password_bdd=mysql_result($requete,0,"password");
$salt=mysql_result($requete,0,"salt");
$password_noncrypte="xxxxxx";
$licence="LVBF*******";
$password_comparaison=md5(md5(md5($password_noncry pte) . $salt) . $licence);
echo"$password_bdd<br>$password_comparaison";
}

le mot de passe non crypté est bien le bon car permet de me connecter, malheureusement comme vous pouvez vous en doutez si je poste ici, les mots de passe hashés ne correspondent pas.
J'ai essayé en enlevant la lettre L devant mon numéro de licence et le résultat est toujours négatif.

Je vous remercie de votre attention et attend impatiemment votre aide.

Cordialement,
bogz

bogz
03/10/2006, 17h09
arf je viens de trouver, il ne faut pas hasher en concaténant le numéro de licence.

ce qui donne :

md5(md5($password_noncry pte) . $salt)

voila en espérant que ça aide d'autres utilisateurs,

merci quand même ^^

BestFF
09/12/2006, 20h16
Salut,

Je me permets de déterrer ce topic ^^;

J'ai besoin de pouvoir comparer le mot de passe contenu dans le cookie avec celui contenu dans la base de données.

Mais pour le moment je n'y arrive pas...

J'ai fait quelques tests, ce qui m'a permis de voir que le mot de passe contenu dans la cookie est celui de la formule
md5(md5(md5(Mot de Passe en Clair) . $salt_de_l_utilisateur) . COOKIE_SALT)

Mais j'ai essayé pas mal de comparaison et je n'arrive pas à trouver comment comparer le mot de passe contenu dans le champs password de la base de données, avec celui contenu dans le cookie ^^;

Je suis sûr que c'est tout bête, mais là je m'en sors pas, alors si quelqu'un connait la solution ?

Merci ^^