Problème dans l'enregistrement d'un fichier après simple cryptage xor.
Sim 2005
Messages postés86Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention18 juillet 2009
-
7 oct. 2006 à 11:04
Sim 2005
Messages postés86Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention18 juillet 2009
-
8 oct. 2006 à 18:58
Bonjour,
J'ai réalisé un programme juste pour voir comment fonctionnait le cryptage xor. Il demande un fichier source, le fichier dest et une clé < 64 car.
Le tout fonctionne très bien mais j'obtiens dans le fichier crypté des caractères non ASCII, d'écriture chinoise. Ce ne me pose pas de problème, seulement je me demande si ce fichier, une fois transféré sur un otre os que windows pourra être décrypté de la même façon.
Comment se fait-il qu'un char qui normalement a une valeur comprise entre -127 et 127 puisse avoir de tels caractères?
C'est très étrange, surtout que, lors du débogage il ne me semblait pas avoir vu de caractères dépassant ces valeurs.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 oct. 2006 à 11:36
Cesse de flooder le forum en disant nimporte quoi et réfléchis un peu.
Si tu fais du xor sur un octet, rien ne dit qu'on obtiendra un résultat sur une plage de caractère affichable, fichier résultant n'a pas à être édité. Passe le au même xor dans l'autre sens et il devrait reprendre son état initial.
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 20081 7 oct. 2006 à 11:53
Oui Brunews a raison, regarde une table de valeurs ASCII (->google), il y a plein de caractères
"bizarres". Seule une infime partie fait partie des chiffres et des
lettres. (26*2 + accents + 10 par rapport à 256...).
a caractère nomal, b n'importe quel caractere.
a = a xor b; // a a toutes les chances de devenir "illisible"
Sim 2005
Messages postés86Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention18 juillet 2009 7 oct. 2006 à 12:25
Je connais très bien la tables ASCII. Merci de me faire remarquer qu'il existe d'autres caractères que les alphanumériques, mais ça je le savais déjà. En effet, lorsque j'effectue la fonction inverse je retrouve le fichier, mais là n'est pas la question. C'est : comment se fait-il que j'obtienne des caractères chinois NON ASCII (je sais de quoi je parle) dans mon fichier, alors qu'il a été enregistré avec des chars.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 oct. 2006 à 12:32
Mais enfin on n'y croit pas !!!
Caractères chinois sont sur 2 octets (UNICODE) donc aucun risque que tu en aies sur char (1 octet).
Table ascci étendue couvre sur 8 bits (1 octet), il est donc clair que dans un char tu as PAR FORCE une valeur ascii.
Faut savoir sortir et se débarrasser des faux concepts issus d'une trop longue pratique des faux langages.
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 20081 7 oct. 2006 à 12:48
C'est peut-etre ton afficheur de caractères.
Si un caractère sur un octet n'est pas "normal" alors qu'en le prenant sur 2 octets il est "normal" mais chinois, l'afficheur le traitera peut-etre sur 2 octets.
Ca donne quoi avec NotePad ou WordPad ?
En ce qui concerne le decryptage il ne peut pas y avoir de probleme car ton programme traite les données de la meme facon que pour le cryptage, enfin j'espere ;).
Sim 2005
Messages postés86Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention18 juillet 2009 7 oct. 2006 à 12:55
Ca y est ! J'ai trouvé.
En fait il s'agit d'une interprétation différente des caractères du Bloc-Notes. En fait, je développe sous Vista et le notepad doit certainement interpréter le fichier comme unicode. J'ai vérifié en utilisant un éditeur hex, et heureusement, c'est tout ce qu'il y a de plus normal pour un fichier binaire.
Sim 2005
Messages postés86Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention18 juillet 2009 7 oct. 2006 à 12:57
Oué c comme tu dis Galmiza, ça dépend de l'afficheur. Même si je sais qu'ils ne sont pas prévus pour l'édition des fichiers binaires, je les utilise juste pour comparer rapidement deux en-têtes de fichiers.
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 20071 8 oct. 2006 à 17:59
Salut,
Je viens de voir ton message... Effectivement c'est un comportement connu du bloc-note, sous Xp il fait la même chose.
Par contre je crois que tu n'as pas tout a fait saisi la différence entre stocage et interprétation... Un fichier binaire ça reste rien d'autre qu'un amas de bits, après c'est au programme destiné à son emploi de savoir de quelle manière il va le lire, et quelle interprétation il fera de ce qu'il vient de lire.