Bonjour,
Voulant m'exercer à la programmation réseau en C (que je n'ai pas touché depuis un moment), je me suis lancé le petit défi de faire un "client", voir un bot.
Mais pour l'instant je bloque sur la partie chiffrement du mot de passe, mon programme me retourne une résultat différent de ce que je peux sniffer via le client original.
Voici le code en question :
int main()
{
char* session_key = "anotmlckuacjchbtpgrtdkzyamvqyifg";//HC...
char HASH[] = { 'a', 'b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','-','_' };
char* pass = "blabla";
printf("Char : %s\n", pass);
char* digest = malloc(strlen(pass) * 2 + 1 );
int un = 0;
int deux = 0;
for (int i = 0; i < strlen(pass); i++)
{
un = (int)floor(pass / 16);
deux = (int)pass % 16;
digest[i * 2] = HASH[(un + (int)session_key % strlen(HASH)) % strlen(HASH)];
digest[i * 2 + 1] = HASH[(deux + (int)session_key % strlen(HASH)) % strlen(HASH)];
}
digest[strlen(pass) * 2] = '\0';
printf("Digest : %s\n",digest);
*digest = 0;
free(digest);
return 0;
}
Merci d'avance,
Cordialement