Crypter une chaîne de caractère (xor)
Black:bag
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
juliencolin54 Messages postés 217 Date d'inscription Statut Membre Dernière intervention -
juliencolin54 Messages postés 217 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrai crypter une chaîne de caractère (le cryptage xor) .
le code: (ou' il y a des problèmes)
Mais ,apparemment il affiche une erreur (Windows) pouvez vous m'aider ?
Je voudrai crypter une chaîne de caractère (le cryptage xor) .
le code: (ou' il y a des problèmes)
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i=0,j=0; char str[18] = "UnePhraseACrypter"; char psw[18] = "UnBiiigMotDePasse"; for(i=0;str[i]!= '\0';i++) { printf(":%s",str[i]); for(j=0;psw[j]!= '\0';j++) { char key =str[i] ^ psw[j]; printf("Votre phrase de nouveau est %s:\n",key); } } return 0; }
Mais ,apparemment il affiche une erreur (Windows) pouvez vous m'aider ?
A voir également:
- Crypter une chaîne de caractère (xor)
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
2 réponses
Mais ,apparemment il affiche une erreur (Windows) pouvez vous m'aider ?
Quelle erreur windows ?
printf("Votre phrase de nouveau est %s:\n",key);
key est un char et tu affiches une chaîne de caractères (%s). Il faudrait plutôt mettre : %c. Attention, cela n'est pas forcément une valeur ascii. Tu as de forts risques d'avoir un drôle de caractère ;-)
Quelle erreur windows ?
printf("Votre phrase de nouveau est %s:\n",key);
key est un char et tu affiches une chaîne de caractères (%s). Il faudrait plutôt mettre : %c. Attention, cela n'est pas forcément une valeur ascii. Tu as de forts risques d'avoir un drôle de caractère ;-)
Bsr,
Oui merci
pour afficher le résultat ( du cryptage xor) je dois utiliser (%c) c'est proprement correct .
Mais que pensez vous de la structure du code est ce qu 'il est valide ??
oui , le résultat n'est pas proprement (une valeur ascii ) .
Oui merci
pour afficher le résultat ( du cryptage xor) je dois utiliser (%c) c'est proprement correct .
Mais que pensez vous de la structure du code est ce qu 'il est valide ??
oui , le résultat n'est pas proprement (une valeur ascii ) .
Salut Black:bag, salut fiddy,
Je ne crois pas que le code donne quelque chose de bien utile, même s'il se compile et s'exécute sans erreurs ou avertissements en rectifiant le %c.
- XOR est fait sur chaque caractère de str avec successivement les caractères de psw, mais le résultat n'est pas utilisé pour les opérations suivantes, ni conservé en dehors de la boucle for. Du coup, le résultat des opérations est perdu
- ont fait un printf sur un caractère (en utilisant %c comme le dit fiddy), à chaque itération de la boucle la plus profonde.. je ne sais pas si c'est volontaire... en tout cas cela n'affiche pas un résultat, mais la série d'opérations intermédiaires
- quelque soit l'algorithme utilisé, il faut, à mon sens, conserver la taille de la chaîne d'origine, car autrement, les opérations XOR peuvent conduire à produire zéro, qui sera considéré comme le caractère '\0', et on ne saura pas quelle est la longueur des données chiffrées à sauvegarder .. et qui devront être déchiffrées ultérieurement
Dal
Je ne crois pas que le code donne quelque chose de bien utile, même s'il se compile et s'exécute sans erreurs ou avertissements en rectifiant le %c.
- XOR est fait sur chaque caractère de str avec successivement les caractères de psw, mais le résultat n'est pas utilisé pour les opérations suivantes, ni conservé en dehors de la boucle for. Du coup, le résultat des opérations est perdu
- ont fait un printf sur un caractère (en utilisant %c comme le dit fiddy), à chaque itération de la boucle la plus profonde.. je ne sais pas si c'est volontaire... en tout cas cela n'affiche pas un résultat, mais la série d'opérations intermédiaires
- quelque soit l'algorithme utilisé, il faut, à mon sens, conserver la taille de la chaîne d'origine, car autrement, les opérations XOR peuvent conduire à produire zéro, qui sera considéré comme le caractère '\0', et on ne saura pas quelle est la longueur des données chiffrées à sauvegarder .. et qui devront être déchiffrées ultérieurement
Dal