Je ne sais pas ce qu'est keychar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void crypt(char *text, int length, mpz_class key, char *crypted) { [...] // Lis la clé en boucle if (i%keychar.length() == 0) { // <-- ICI je ne devrais pas utiliser length ???. Mais globalement, je verrais plutôt crypt de cette cette manière :
Et là tu utilises key_length.
Code : Sélectionner tout - Visualiser dans une fenêtre à part void crypt(char *text, int text_length, unsigned char* key, unsigned int key_length, char *crypted)
Sinon, ton code m'a l'air bon. S'il te reste des problèmes, il se peut qu'ils soient au niveau de l'écriture du fichier (tu dois l'écrire en binaire et pas en ascii).
Ah, pour la clé :
Non, il n'y a pas. Si tu fais saisir la clé au clavier, il faut la mettre dans un std::string, et ensuite, convertir cette forme chaîne sous la forme tableau de char* (c'est un nom catastrophique char*, ici, en fait, on utilise char car sizeof(char) == 1, mais c'est bien en tant qu'octet/valeur de 0 à 255 qu'on les traite).Merci bien ! Je ne connaissais pas. Il y a moyen d'utiliser cette définition avec une clé entrée au clavier avec getline() ?
Pour la conversion, le plus simple est de lire 2 caractères dans ta chaîne, et de les convertir en entier (en faisant attention à bien préciser que c'est de l'hexadécimal), et ainsi de suite jusqu'à avoir consommé toute la chaîne.







Répondre avec citation



Partager