cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006
-
26 févr. 2005 à 20:20
cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006
-
26 févr. 2005 à 21:55
Le problème est simple, je fais un programme de cryptage/décryptage pour ma qualif' de fin d'année. Le seul problème, c'est que quand il doit décrypter le fichier, il me le décrypte en mettant à chaque fois 3-4 espace et un p'tit carré... Et à cause de cà, il ne décrypte des fois pas jusqu'au bout :'(
Est-ce qu'il y a un caler dans ce genre de chose en VB qui pourrait m'aider ???
[mailto:raph_du_cap@hotmail.com raph_du_cap@hotmail.com] -> Si qqun est tenté par l'aventure du bug
cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006 26 févr. 2005 à 20:53
Voilà, mais bon je ne vois pas trop où est le problème. Ici c'est la source pour un fichier texte. Le système de cryptage est le plus simple je sais :D mais c'était juste pour tester, et comme rien que ca ca marche pas... ^^
Open NouveauFichier For Output As #1
Open Fichier For Input As #2
Do While Not EOF(2)
NouvelleLigne = ""
Input #2, Ligne
For I = 1 To Len(Ligne)
Caractere = Mid$(Ligne, I, 1)
If Asc(Caractere) - 1 < 0 Then
NouvelleLigne = NouvelleLigne + Chr$(Asc(Caractere) - 1 + 256)
Else
NouvelleLigne = NouvelleLigne + Chr$(Asc(Caractere) - 1)
End If
Next I
Print #1, NouvelleLigne
Loop
Close #2
Close #1
Voilà maintenant celui pour les fichiers binaires.
Open NouveauFichier For Binary Access Write As #1
Open Fichier For Binary Access Read As #2
For I = 1 To LOF(2)
Get #2, , Octet
If Octet - 1 < 0 Then
NouvelOctet = CInt(Octet) - 1 + 256
Else
NouvelOctet = CInt(Octet) - 1
End If
Put #1, , NouvelOctet
Next I
Close #2
Close #1
K@zuya
Messages postés306Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention15 février 2016 26 févr. 2005 à 21:20
Bon, j'ai trouvé différentes erreurs dans ton code.
La premiere se trouve dans le décryptage des fichiers texte, sa fonctionne pas trop mal sauf si le fichier crypté contiens un virgule, sache que la virgule est interprêtée par Inupt comme un saut de ligne donc le fichier decrypté contiendra des sauts de ligne innatendus.
La deuxieme se trouve dans le décryptage de fichiers binaires, ce n'est pas vraiment une erreur mais un oubli de ta part je pense. Appliqué a tout fichier binaire, ton code fonctionne mais si lors du cryptage tu conserve les sauts de ligne alors ils seront détruits au décryptage.
cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006 26 févr. 2005 à 21:31
Oui je vois.. Mais bon mon problème n'est pas encore à ce niveau là.. :(
Enfin merci quand même.. Moi le truc c'est qu'il déconne sur le fichier texte par exemple c'est qu'il va me le décrypter comme ca...
T ■e ■s ■t ■
A part ke c'est des rectangles blancs ms bon.. Et que pour les textes, il ne me les décrypte pas entierements :s et il ne fait même pas les sauts de lignes :(
Pour les EXE ou autres (binaires), il les décrypte completement, mais à cause du trucs des espaces et des carrés, mon fichier qui faisait par exemple 100ko en fait 600ko apres décryptage :( et de plus, inutilisable :'(
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006 26 févr. 2005 à 21:36
Fichier texte original :
yeahhhh
tututu
llalala
Fichier Crypté : zfbiiii
uvuvuv
mmbmbmb
(+ saut de ligne supplémentaires non présent dans l'original)
Fichier Décrypté : yeahhhh tututu llalala
Lol je sais pas pourquoi, mais y vient de me le décrypter jusqu'au bout :D Mais y reste encore le problèmre des carrés. Et je sais pas d'où ca provient :(
cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006 26 févr. 2005 à 21:38
Cryptage texte : Open NouveauFichier For Output As #1
Open Fichier For Input As #2
Do While Not EOF(2)
NouvelleLigne = ""
Input #2, Ligne
For I = 1 To Len(Ligne)
Caractere = Mid$(Ligne, I, 1)
If Asc(Caractere) - 1 < 0 Then
NouvelleLigne = NouvelleLigne + Chr$(Asc(Caractere) - 1 + 256)
Else
NouvelleLigne = NouvelleLigne + Chr$(Asc(Caractere) - 1)
End If
Next I
Print #1, NouvelleLigne
Loop
Close #2
Close #1
Cryptage binaire :
Open NouveauFichier For Binary Access Write As #1
Open Fichier For Binary Access Read As #2
For I = 1 To LOF(2)
Get #2, , Octet
If Octet - 1 < 0 Then
NouvelOctet = CInt(Octet) - 1 + 256
Else
NouvelOctet = CInt(Octet) - 1
End If
Put #1, , NouvelOctet
Next I
Close #2
Close #1
K@zuya
Messages postés306Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention15 février 2016 26 févr. 2005 à 21:48
Je pense que tu devrai tout simplemet banir ta méthode de cryptage de texte, le cryptage binaire fonctionne a tout les coups chez moi mais le texte est foireux sache que ces carrés sur lesquels tu te pose tant de questions sont tout simplement des caractères non affichables, surement de valeur 0
si tu a toujours des problemes, dit le moi, je te contacterai sur MSN