Bonjour à tous,

Je dois modifier un script qui permet de crypter une url. Actuellement la clef de cryptage est en dure dans la source:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
char key[] = "\x58\x6d\xfc\x9c\x34\x91\x9b\x86\x3f\xfd\x64\x63\xc9\x13\x4a\x26\xba\x29\x74\x1e\xc7\xe9\x80\x79";
...
 
 /* appel a la fonction de codage pour calcul du hmac a partir de l'url */
    HMacCalcul((unsigned char *) key, (unsigned char *) url, strlen(url), (unsigned char *) Hmac);
et ça fonctionne très bien!

hors pour un besoin spécifique cette clef doit être dans un fichier en dehors du programme. J'ai donc procédé de la sorte:

1) J'ai créé un fichier key.txt contenant la ligne suivante \x58\x6d\xfc\x9c\x34\x91\x9b\x86\x3f\xfd\x64\x63\xc9\x13\x4a\x26\xba\x29\x74\x1e\xc7\xe9\x80\x79

2) J'ai ajouté dans le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
char key[96];
 
fic = fopen("key.txt", "r");
 
 
    if(fic == NULL){
      doError("Impossible de lire la clef");
    }
    else{
 
     fscanf(fic, "%s", key);
     fclose(fic);
 
     fclose(fic2);
 
    }
...
 
 /* appel a la fonction de codage pour calcul du hmac a partir de l'url */
    HMacCalcul((unsigned char *) key, (unsigned char *) url, strlen(url), (unsigned char *) Hmac);
et ça marche pas

Avez-vous une solution pour "hydrater" une variable avec de l'hexadécimale à a partir d'un fichier.

Merci d'avance