begin process at 2012 02 12 01:07:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > PETIT PROG DE CRYPTAGE

PETIT PROG DE CRYPTAGE


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Niveau :Initié Date de création :22/10/2003 Vu / téléchargé :3 190 / 189

Auteur : alphaone

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


 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

  • #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;
  • }
#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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • CD2.EXETélécharger ce fichier [Réservé aux membres club]93 184 octets
  • CPP2.CPPTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 064 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture UNIX SOCKET RELAY
Source avec Zip Source avec une capture QCSSCOMPRESSOR
Source avec Zip Source avec une capture DEBUG DEVEL SERVER
Source avec Zip Source avec une capture DEBUG DEVEL
Source avec Zip TWEAKER

 Sources de la même categorie

PROJET DE CRYPTOGRAPHIE: RSA À JEU REDUIT D'INSTRUCTION par samatarahmed
Source avec Zip Source avec une capture CRYPTOSYSTÈME ELGAMAL LIBRAIRIE GMP par louelh95
Source avec Zip Source .NET (Dotnet) NOUVEL ALGORITHME D'ENCRYPTION-DÉSENCRYPTION DYNAMIQUE (INFA... par vletktol
Source avec Zip A2DCRYPT - CRYPTAGE 2048 BITS par darkor
Source avec Zip Source avec une capture CRYPTEUR-DÉCRYPTEUR-IP par antho974

Commentaires et avis

Commentaire de JCDjcd le 22/10/2003 14:18:18

Ouverture d'un fichier en binaire :

fopen("fichier.txt","wb"); // pour ecrire
fopen("fichier.txt","rb"); // pour lire
fopen("fichier.txt","wb+rb"); // pour ecrire et lire

Commentaire de garslouche le 22/10/2003 14:21:24

hou là.... poue écrire et lire : "r+b"

Commentaire de Juntao le 23/10/2003 12:46:11

'Lut,

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

Merci

++

Commentaire de JCDjcd le 24/10/2003 11:50:27

Heu regarde la premiere fonction ... ce doit etre elle non ?

Commentaire de Gerald le 26/10/2003 14:38:18

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);

Commentaire de flo. le 27/10/2003 20:33:21

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]);

Commentaire de Juntao le 27/02/2004 10:33:53

@JCDjcd

Merci, gv po fait gaffe, dsl pour la question :\

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,686 sec (4)

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