begin process at 2012 02 13 01:04:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > CRYPTAGE/DECRYPTAGE DE FICHIERS [VERSION 2, TOUT COMPILATEUR]

CRYPTAGE/DECRYPTAGE DE FICHIERS [VERSION 2, TOUT COMPILATEUR]


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Niveau :Initié Date de création :11/02/2002 Date de mise à jour :14/02/2002 19:36:21 Vu :5 859

Auteur : guguy

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Ce programme crypte ou decrypte un fichier à l'aide d'un algorithme rudimentaire.    

Source

  • #include <iostream>
  • #include <string>
  • #include <fstream>
  • using namespace std;
  • string crypte(string x,int plus) {
  • for(int i=0;i<(int)x.size();i++)
  • {
  • x[i]=x[i]+plus;
  • }
  • return(x);
  • }
  • string decrypte(string x,int moins) {
  • for(int i=0;i<(int)x.size();i++)
  • {
  • x[i]=x[i]-moins;
  • }
  • return(x);
  • }
  • int main()
  • {
  • int choix;
  • long cle;
  • char fichier[128],fichiercible[128];
  • string line,s,cs;
  • cout << "\033[2J" << "1. Cryptage\n2. Decryptage\n";
  • cin >> choix;
  • switch(choix)
  • {
  • case 1:
  • {
  • cout << "\nEntrez la cle (uniquement des chiffres) : ";
  • cin >> cle;
  • cin.ignore();
  • cout << "Fichier source : ";
  • cin.getline(fichier, 128);
  • cout << "Fichier cible : ";
  • cin.getline(fichiercible, 128);
  • cout << "Lecture du fichier...\n";
  • ifstream fi(fichier);
  • while(!fi.eof())
  • {
  • getline(fi, line);
  • s += line+'\n';
  • }
  • fi.close();
  • cout << "Cryptage...\n";
  • cs=crypte(s, cle);
  • cout << "Ecriture dans le fichier cible...\n";
  • ofstream fo(fichiercible);
  • fo << cs;
  • fo.close();
  • cout << "OK\n";
  • }
  • break;
  • case 2:
  • {
  • cout << "\nEntrez la cle (uniquement des chiffre) : ";
  • cin >> cle;
  • cin.ignore();
  • cout << "Fichier source : ";
  • cin.getline(fichier, 128);
  • cout << "Fichier cible : ";
  • cin.getline(fichiercible, 128);
  • cout << "Lecture du fichier...\n";
  • ifstream fi(fichier);
  • while(! fi.eof())
  • {
  • getline(fi, line);
  • cs += line+'\n';
  • }
  • fi.close();
  • cout << "Decryptage...\n";
  • s=decrypte(cs, cle);
  • cout << "Ecriture dans le fichier cible...\n";
  • ofstream fo(fichiercible);
  • fo << s;
  • fo.close();
  • cout << "OK\n";
  • }
  • break;
  • default: break;
  • }
  • }
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

string crypte(string x,int plus) {
for(int i=0;i<(int)x.size();i++)
{
x[i]=x[i]+plus;
}
return(x);
}

string decrypte(string x,int moins) {
for(int i=0;i<(int)x.size();i++)
{
x[i]=x[i]-moins;
}
return(x);
}


int main()
{
int choix;
long cle;
char fichier[128],fichiercible[128];
string line,s,cs;

cout << "\033[2J" << "1. Cryptage\n2. Decryptage\n";
cin >> choix;
switch(choix)
  {
  case 1:
    {
cout << "\nEntrez la cle (uniquement des chiffres) : ";
cin >> cle;
cin.ignore();
cout << "Fichier source : ";
cin.getline(fichier, 128);
cout << "Fichier cible : ";
cin.getline(fichiercible, 128);
cout << "Lecture du fichier...\n";
ifstream fi(fichier);
while(!fi.eof())
{
getline(fi, line);
s += line+'\n';
}
fi.close();
cout << "Cryptage...\n";
cs=crypte(s, cle);
cout << "Ecriture dans  le fichier cible...\n";
ofstream fo(fichiercible);
fo << cs;
fo.close();
cout << "OK\n";
    }
  break;  
case 2:
    {
      cout << "\nEntrez la cle (uniquement des chiffre) : ";
cin >> cle;
cin.ignore();
cout << "Fichier source : ";
cin.getline(fichier, 128);
cout << "Fichier cible : ";
cin.getline(fichiercible, 128);
cout << "Lecture du fichier...\n";
ifstream fi(fichier);
while(! fi.eof())
{
getline(fi, line);
cs += line+'\n';
}
fi.close();
cout << "Decryptage...\n";
s=decrypte(cs, cle);
cout << "Ecriture dans le fichier cible...\n";
ofstream fo(fichiercible);
fo << s;
fo.close();
cout << "OK\n";
    }
break;  
default: break;  
}
}






 Sources du même auteur

CALCULE DU NOMBRE DE DIAGONALES D'UN POLYGONE EN FONCTION DU...
NOMBRE DE LIGNE DANS UN FICHIER [VERSION C++]
Source avec Zip PROGRAMME DE CALCULE DE LA DISTANCE ENTRE DEUX POINTS SUR UN...
TUTORIAL SUR L'UTILISATION DU TYPE VA_LIST
MASTERMIND NUMERIQUE [VERSION 2][TOUT COMPILATEUR]

 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 LordBob le 07/01/2003 22:32:53

simple decalage d'octet si je ne me trompe pas???

Commentaire de scallx le 26/03/2010 18:57:49

salut,
Il y a juste un truc qui m'arrache les yeux :
-Dans tes fonctions "string crypte(string x, int plus)" et "string decrypte(string x,int moins)" plus et moins sont déclarés en int alors que dans le main tu déclare "long cle;" que tu envoie ensuite à tes fonctions..... Il peut avoir des bugs à envoyer un long à une fonction qui doit avoir un int en parametre. Moi je mettrais tous en long, mais ce n'est que mon avis........
Cordialement

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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