Petit prog de cryptage

Soyez le premier à donner votre avis sur cette source.

Vue 4 132 fois - Téléchargée 272 fois

Description

Il permet de crypter et de décrypter des fichier texte simple.
Svp si quelqu'un sert comment ouvrir un fichier en binaire peut il m'envoyé la source avec ouverture et enregistrement de fichier en binaire.

Source / Exemple :


#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int conv(char a)
{
 int n;
 n=0;
 while((char)n!=a)
 n++;
 return(n);
}

int main(int argc, char **argv)
{
  char clef[255];
  int lon;
  int ok;
  int enc;
  ok=1;
   if(argc<2)
   {
  cout << "Pour convertir un fichier il faut le faire glisser sur l'icone du programme dansl'explorateur. Vous pouver aussi le definir en tant que programme ouvrant un\ncertain type de fichier.\n";
  ok=0;
  }
   if(ok==1)
   {
   cout << "Clef:";
   lon=0;
   cin.get(clef,255);
   cout << "Encodage=1, decodage=2:";
   cin >> enc;
   if(enc!=2&&enc!=1)
   {
   cout << "Mauvais choix!\nLe fichier ne sera pas modifier.\n";
   ok=0;
   }
   else
   if(enc==2)
   enc=-1;
   if(ok==1)
   {
   lon=strlen(clef);
   int fich;
      fich=0;
      while(fich<argc-1)
      {
   fich++;
   cout << argv[fich];
   char ch;
   int v;
   v=0;
   int h;
   h=0;
   int r;
   char fi[255]="c:/windows/temp/temp.txt";
   ofstream fout(fi);
   fout << "";
   fout.close();
   ifstream fin(argv[fich]);
         if(fin)                       // existe déjà ?
     {

         while (fin.get(ch))
         {
              h=conv(clef[v]);
              r=conv(ch)-h*enc;
              if(r<255)
              r=r+255;
              if(r>255)
              r=r-255;
              fout.open(fi, ios::app);
              fout << (char)(r);
              fout.close();
              v++;
              if(v>=lon)
              v=0;
        }
                fin.close();
        fout.open(argv[fich]);
      fin.open("c:\\windows\\temp\\temp.txt");
      if(fin)          // existe déjà ?
      while(fin.get(ch))
         {
          fout << ch;
         }
         else
         cout << "c:/windows/temp/temp.txt absent.";
         fin.close();
         fout.close();
         cout << " OK\n";
        }
        else
        cout << " Erreur.\n";
    fin.close();
    }
    }
   }
   system("PAUSE");
  return 0;
}

Conclusion :


Svp si quelqu'un sert comment ouvrir un fichier en binaire peut il m'envoyé la source avec ouverture et enregistrement de fichier en binaire.
Comme ça je pourai encoder n'inporte quel fichier.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Utilisateur anonyme
@JCDjcd

Merci, gv po fait gaffe, dsl pour la question :\
Messages postés
2
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
27 octobre 2003

la fonction int conv(char) elle fais juste un cast,
à la place de :

h=conv(clef[v]);

tu aurais pu mettre

h=(int)((unsigned char)clef[v]);
Messages postés
31
Date d'inscription
dimanche 15 juillet 2001
Statut
Membre
Dernière intervention
8 janvier 2009

nan fopen c du C, là on se sert des stream d'entree/sortie:
il faut faire
ofstream fout(fi, ios::binary);
et
ifstream fin(argv[fich], ios::binary);
pour lire et ecrire il faut rajouter "|ios::in | ios::out" apres le binary:
ifstream fin(argv[fich], ios::binary | ios::in | ios::out);
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
Heu regarde la premiere fonction ... ce doit etre elle non ?
Utilisateur anonyme
'Lut,

Que fait la fct conv() utilise dans cette source ??
Ou peut on trouver des infos dessus ??

Merci

++
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.