cryptage de fichier avec XOR - C - Programmation
Marsh Posté le 16-09-2004 à 14:54:57
bon, en fait j'ai trouvé mes erreurs
j'ai remplace le fprintf par un write, et me suis apperçut que j'utilisais pas ma clé
enfin la ça fonctionne.
merci encore
juste pour info, le code :
Code :
|
Marsh Posté le 16-09-2004 à 16:49:31
pourquoi tu utilise 2 buffers différents ?
utilise NULL au lieu de 0
utilise l'opérateur sizeof quand tu le peux
quand à ton code il est incorrect, si ton fichier contient un 0, tu vas tout arrêter pour rien
Marsh Posté le 16-09-2004 à 17:22:58
J'ai utilisé 2 buffer différents sans faire gaffe, mais c'est vria qu'un seul suffit.
Pourquoi utiliser null si j'aime utiliser 0?
jvois pas trop le problème avec sizeof
et enfin je crypte un fichier texte, donc il ne devrait pas y avoir de 0 (si je ne m'abuse)
Marsh Posté le 16-09-2004 à 17:30:46
y a pas de 0 en ascii mais à part ça ...
t'as pas à aimer 0, un pointeur nul en C, c'est NULL, de type (void*) et rien d'autre. sinon, tu vas voir comment ça va chier sur machine ou sizeof(void*) != sizeof(int), tu vas pleurer ...
Marsh Posté le 16-09-2004 à 17:37:14
t'entend quoi par "ya pas de 0 en ascii"?
et ou est-ce que tu veux que j'utilise null et pourquoi?
Marsh Posté le 16-09-2004 à 17:59:49
1) l'octet 0 est utilisé dans certaines représentations de texte
2) parce que 0 est de type entier et pas de type void*. de toute évidence tu ne le sais pas et ne comprends les implications ...
Marsh Posté le 16-09-2004 à 19:25:16
1) ok
2)ouai, j'avait tilté pour le type, mais c'est quoi les implications justement ?
Marsh Posté le 16-09-2004 à 21:36:09
Contrairement aux idees recues, NULL est de type int dans la pluspart des implementations (i.e. #define NULL 0), bien que le C ANSI autorise egalement #define (void *)0.
Marsh Posté le 17-09-2004 à 00:27:08
mouef, tu confonds avec le C++ où 0 est une valeur spéciale je pense, j'ia vu très peu d'environnement C où NULL n'était pas un void*
Marsh Posté le 17-09-2004 à 22:50:32
Verification faite sous linux c'est ((void *)0). Sous AIX c'est 0.
Marsh Posté le 17-09-2004 à 22:55:07
t'es sur que le compilateur d'AIX n'est pas mixte ? de toutes façons, ça m'étonnerait pas que le compilo AIX soit défficient car anté-déluvien ... attention aux surpises ...
Marsh Posté le 18-09-2004 à 07:27:55
Le compilo d'AIX (Visual Age) est parfaitement maintenu et développé, et est d'ailleurs à la pointe en matière d'optimisation pour l'architecture Power. Je crois que si gcc était aussi performant ça comblerait les grincheux au delà de leurs espérances
Celà dit j'ai fais les tests avec #include <stdlib.h> et le flag -E, donc le compilo n'a rien à voir là dedans.
Marsh Posté le 18-09-2004 à 10:27:15
quoi ? compilo ça inclue le cpp, on va pas chipoter ... toutes façons je vois pas ce que tu veux que ça soit à part une macro ?
Marsh Posté le 18-09-2004 à 13:39:02
matafan a écrit : Le compilo d'AIX (Visual Age) est parfaitement maintenu et développé, et est d'ailleurs à la pointe en matière d'optimisation pour l'architecture Power. |
j'ai mal lu là non ???
Marsh Posté le 18-09-2004 à 14:46:34
(moi aussi je pense avoir mal lu, mais n'ayant pas d'AIX sous la main-
Marsh Posté le 18-09-2004 à 18:57:59
Joel, tu as peut-être une vieille version du compilo, mais je t'assure qu'il est activement développé et n'a rien d'obsolète... Je bosse sur les outils de perf AIX (ce qui inclue tprof, un profileur dont les dev du compilo sont d'ailleurs de grands utilisateurs), donc je parle en connaissance de cause. Maintenant évidemment, comme beaucoup de clients utilisent encore de vieilles versions d'AIX et du compilo (ce qui n'est pas un problème en soi), on a vite fait de tirer des conclusion hative. Faut juste savoir de quoi on parle. Enfin bon on disgresse, fin de la parenthèse.
Marsh Posté le 16-09-2004 à 14:27:24
hello,
j'ai un pitit problème sur un programme:
le but du prog, est d'ouvrir un fichier, de le crypter et de mettre le resultat dans un autre fichier.
une autre fonction fait le travail inverse (ouvre le fichier illisible, le decrypte et le met dans un troisieme fichier)
ça fonctionne si le contenu du fichier est inferieur à la taille du buffer, mais sinon, ben ça merde àla fin de la premiere boucle.
Je pense que ça foire dans le decryptage, enfin je suis pas sur
ha ouai, sinon j'utilise un cryptage avec XOR et la taille de mon buffer est de la même taille que ma clé.
voila, si quelqu'un à de l'inspiration qu'il m'en fasse part