begin process at 2012 05 29 08:50:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

[help me!] - probleme cryptage simple de fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[help me!] - probleme cryptage simple de fichier

mercredi 31 mai 2006 à 21:41:33 | [help me!] - probleme cryptage simple de fichier

darthnexus

Salut à tous!
Je vous explique mon problème: j'ai commencé une petit programme de cryptage tout simple (je débute...) seulement voila cela fonctionne nickel sur des fichiers texte mais sur des fichiers bitmap par exemple sans que j'arrive à comprendre pourquoi le cryptage ne s'effectue pas jusqu'au bout (à vrai dire il me manque à peu près 99,9% du fichier une fois decrypté )
Alors voila je vous met le code de ma classe cryptage si quelqu'un d'entre vous pourrai éclairer ma lanterne je lui serai très reconnaissant!

PS: je met toute la source mais le problême intervient pendant l'exécution de la méthode crypter()

class CryptageSimple
{
public:
    CryptageSimple(char* cle, char* chemin1, char* chemin2)
    {
        keylen=strlen(cle);
        key=new char[keylen] ;
        strcpy(key, cle);

        int len=strlen(chemin1);
        path=new char[len];
        strcpy(path,chemin1);

        len=strlen(chemin2);
        path2=new char[len];
        strcpy(path2,chemin2);
    };
   
    bool crypter()
    {
        char line[1];
        unsigned int a;
        unsigned char b;
        int i=0;
        ifstream f(path);
        ofstream ff(path2);
            if(i>=keylen) i=0;
            f.read( line, 1 ) ;
            b=line[0];
            a=(int)b;
            a+=(int)key[i];
            a=a%255;
            b=a;
            i++;
        while(!f.eof())
        {
            ff<<b;
            if(i>=keylen) i=0;
            f.read( line, 1 ) ;
            b=line[0];
            a=(int)b;
            a+=(int)key[i];
            a=a%255;
            b=a;
            i++;
        }
        ff<<b;
        cout<<"Opération effectuée";
       
        return 0;
    };
   
    bool decrypter()
    {
        char line[1];
        int a;
        unsigned char b;
        int i=0;
        ifstream f(path);
        ofstream ff(path2);
            if(i>=keylen) i=0;
            f.read( line, 1 ) ;
            b=line[0];
            a=(int)b;
            a-=(int)key[i];
            a=a%255;
            b=(char)a;
            i++;
        while(!f.eof())
        {
            ff<<b;
            if(i>=keylen) i=0;
            f.read( line, 1 ) ;
            b=line[0];
            a=(int)b;
            a-=(int)key[i];
            a=a%255;
            b=(char)a;
            i++;
        }
        cout<<"Opération effectuée";
        return 0;
    };
private:
    int keylen;
    char* key;
    char* path;
    char* path2;
};

jeudi 1 juin 2006 à 09:27:28 | Re : [help me!] - probleme cryptage simple de fichier

ymca2003

ouvrir les fichier en binaire
jeudi 1 juin 2006 à 20:49:16 | Re : [help me!] - probleme cryptage simple de fichier

darthnexus

C'est à dire ouvrir en binaire? Je dois faire quelque chose de ce genre?
FILE * f;
unsigned char b;

f=fopen(path,"rb");
fread(&b,sizeof(char),1,f);

C'est ca? Je suis désolé mais je débute....

Merci d'avance!
vendredi 2 juin 2006 à 09:28:57 | Re : [help me!] - probleme cryptage simple de fichier

ymca2003

Réponse acceptée !
En générale l'erreur que tu décris viens de là. Mais avec les streams C++ je sais pas comment en fait.
En C c'est effectivement cela.


Cette discussion est classée dans : int, key, char, line, keylen


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec qsort [ par Noxk ] bonjour, voila j'ai un probleme avec qsort j'esssaie de faire un tri sur un tableau de structure mais j'obtiens une erreur d'acces violation, apparemm aide pour realiser une repertoire telephonique en langage c [ par djamel000 ] Bonjour , je souhaiterai réaliser un répertoire téléphonique à accès sécurisé(cryptage des données par mot de passe)et recherche rapide de coordonnées cnvertir un int en char [ par fatenbenhamadi ] bonjour, comment convertir un int en char? NB:je developpe sous CVI merci Error LNK2019 [ par issam000000 ] bonjour ,je suis débutant en programmation , je  arrive pas a résoudre cette erreur , quand je compile tout ce passe bien , 0 erreur 0 avertissement , SDL et windows.h sous sygwin [ par agent933 ] salut je travaille en ce moment sur un programme en langage.grosso modo jutilise le port serie pour recevoir donnees et ensuite utilise une interface String to Char puis Char to Int puis Int to Char puis Char to Int [ par gooooo ] Bonjour, Je débute avec Visual C++ et j'avoue que j'ai un peu de mal. Habituellement j'utilise Qt et la il y a du changement. Voici le problème : J trier un tableau de stucture en c [ par peli20 ] [^^happy13]salut, j ai un petit probleme en c ,j espere que vous m aidiez.. bon, j essaie d elaborer un programme faisant la gestion des contact, le r liberation de memoire [ par bobaben ] bonjour, je suis debutant en c++. j'ai un petit souci de liberation de memoire. je voudrai savoir comment peut-on desallouer "new" qui est dans une Demande l'aide des meilleurs ! ;) [ par jekburn ] Bonjour, Le programme suivant devrait d'en un futur proche sortir et enregistrer toutes les adresses mail existantes. Mais là, la fatigue surement !


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales