GTAOnline.net

San Andreas Multiplayer (sa:mp) => Problèmes et bugs => Discussion démarrée par: leptiroman le 16 Mai 2011, 20:14:55

Titre: mot de pass crypter
Posté par: leptiroman le 16 Mai 2011, 20:14:55
Bonjour a tous,

je suis sur un gm gf et j'ai oublier comment on faisais pour décrypter les mdp

ca
r la quand je vis dans le dossier des joueur, le mot de pass est crypter donc si un joueur perd son mdp bah fini donc j'aimerai enlever l'option de cryptage des mdr mais j'ai oublier la ligne a effacer, pourriez vous m'aide?
me
merci bcp
Titre: Re : mot de pass crypter
Posté par: Ssk le 16 Mai 2011, 22:55:05
Tout dépend de la méthode de cryptage que ton GM utilise, si c'est du MD5 bah tu peut aller sur certain site où beaucoup de Hash MD5 sont répertoriés.
Titre: Re : mot de pass crypter
Posté par: leptiroman le 16 Mai 2011, 23:28:16
le prob c'ets que c'ets pas du md5 pur et dur c'ets un dérivé

vu qu'il ne contien aps les 32 caracteres mais de 8 a 10 +-
Titre: Re : mot de pass crypter
Posté par: cristab le 17 Mai 2011, 00:04:33
montre le onplayerregistre sur le pastebin
Titre: Re : mot de pass crypter
Posté par: leptiroman le 17 Mai 2011, 01:44:41
le voici :)
http://pastebin.com/eAyBvRQM (http://pastebin.com/eAyBvRQM)

cque je veux concrètement ça serai que le pas soit plus crypter du tout ça serai plus simple.


merci beaucoup
Titre: Re : mot de pass crypter
Posté par: S!m le 17 Mai 2011, 03:33:50
Salut,

t'as qu'à enlever l'appel à la fonction cryptant le mot de passe:

                new password2 = num_hash(password); // ici
                PlayerInfo[playerid][pKey] = password2;//et ici on met password et pas password2 bien sur...

++Sim++
Titre: Re : mot de pass crypter
Posté par: Ssk le 17 Mai 2011, 07:56:14
sinon passe nous la fonction num_hash j'vais tente de la "reverse" pour qu'elle nous décrypter au lieu de crypter ^^
Titre: Re : mot de pass crypter
Posté par: Syg le 17 Mai 2011, 17:53:07
Ssk, un hash n'est pas réversible.
Donc ne te lances pas dans un truc impossible.

La seule façon de faire c'est d'essayer de trouver une chaîne avec le même hash que le mot de passe que l'on cherche.

++
Syg
Titre: Re : mot de pass crypter
Posté par: Ssk le 17 Mai 2011, 18:37:08
Yep je sais très bien qu'on pas reverse un hash, mais j'aimerai juste qu'il me passe ça fonction, on sait jamais si on peut reverse celui la ^^


( Je ne fais pas confiance au nom de la fonction pour ça ^^ )
Titre: Re : mot de pass crypter
Posté par: leptiroman le 17 Mai 2011, 22:07:38
okok merci je tente ça ;)h

edith :

hum du coup probleme:

mlrp.pwn(25229) : error 006: must be assigned to an array
\mlrp.pwn(25230) : error 035: argument type mismatch (argument 3)
\mlrp.pwn(52870) : error 029: invalid expression, assumed zero
\mlrp.pwn(52870) : warning 215: expression has no effect
\mlrp.pwn(52870) : error 001: expected token: ";", but found ")"
\mlrp.pwn(52870) : error 029: invalid expression, assumed zero
\mlrp.pwn(52870) : fatal error 107: too many error messages on one line


voila le bout de code

public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new string3[64];
new splayerid, playername3, sizeof(playername3));
GetPlayerIp(playerid, playersip, sizeof(playersip));

format(string3, sizeof(string3), "LARP/Users/);
PlayerInfo[playerid][pKey] = password;
dini_IntSet(string3, "Password",password);
dini_IntSet(string3, "Level",PlayerInfo[playerid][pLevel]);
dini_IntSet(string3, "Spawn",PlayerInfo[playerid][pSpawn]);
dini_IntSet(string3, "TesterLevel",PlayerInfo[playerid][pTester]);
dini_IntSet(string3, "HelperLevel",PlayerInfo[playerid][pHelper]);
   dini_IntSet(string3, "AdminLevel",PlayerInfo[playerid][pAdmin]);
Titre: Re : mot de pass crypter
Posté par: cristab le 17 Mai 2011, 22:32:46
format(string3, sizeof(string3), "LARP/Users/");
Titre: Re : mot de pass crypter
Posté par: leptiroman le 24 Octobre 2011, 03:48:25
dsl de déterrer le sujet mais du coup ça marche toujours pas,...

je comprend pas ta dernière réponse cristab
Titre: Re : mot de pass crypter
Posté par: Gilux le 24 Octobre 2011, 11:03:09
Tiens, moi j'utilise celle-ci, si ça peut t'aider...

stock hash(buf[])
{
new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

Elle retourne un nombre entier donc il faudra que tu utilises dini_IntSet et dini_Int pour l'intégrer.

Essaye au moins de mettre un système de hash pour tes mots de passe, c'est la moindre des choses quand on fait un serveur/site Web.

++
Titre: Re : mot de pass crypter
Posté par: leptiroman le 24 Octobre 2011, 14:00:47
cque je veux juste c'est que si un mec perde sont pass je doivent pas recrée son compte quoi,... car e sais pas le récup
Titre: Re : mot de pass crypter
Posté par: cristab le 24 Octobre 2011, 16:03:54
ma reponse est courte mais claire il manque un guillement a ton code
Titre: Re : mot de pass crypter
Posté par: ApocKalipsS le 25 Octobre 2011, 09:31:34
Au pire, tu modifies son mot de passe si il l'a perdu, ... non ?
C'est beaucoup mieux de les laisser cryptés.
Titre: Re : mot de pass crypter
Posté par: Xartrick le 26 Octobre 2011, 02:42:06
Dans ce cas, le mot de passe n'est pas chiffré mais haché.
Les fonctions de haches sont faites de façon à ce qui sort de ces fonctions ne permettent pas de retrouver clairement le message qui a donné ce résultat.
Ces fonctions sont faillible (pour les plus faible) à des collisions, cela veut dire que deux messages ont une empreinte similaire.
Pour ton problème, si tu veux absolument trouver le mot de passe utilisé, tu vas devoir utilisé un méthode que l'on appel brute force.
Le résultat est garantie mais au bout de combien de temps ?
Il faut savoir que le message trouvé ne pourrait pas correspondre au message de base mais pourrait tous de même marcher.
Reste à appliquer cette méthode !