Cryptographie par substitution

nomoooon Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'essaye de finir un tp de openclassroom mais je suis bloqué, le principe est simple il faut que lorsque je rentre mon text dans la partie texte de mon code c++, sa change les lettres par les lettres d'un fichier "cle.txt" les lettres dans cle.txt sont positionné comme ça "AB BC CD DE..." en gros A se change en B B en C etc..., bon je vous met mon code déjà commencé.

#include <iostream>
#include <string>
#include <iterator>
#include <fstream>
using namespace std;

int main()
{

// Le message a crypter
string texte("aaa");

// Demande de la cle a l'utilisateur
cout << "Quel fichier contenant la cle voulez-vous utiliser ? ";
string nomFichier;
cin >> nomFichier;

ifstream fichier(nomFichier);
istream_iterator<char> it(fichier);
istream_iterator<char> end;

string a;
while (it != end)
{
a.push_back(*it);
++it;
}

for (int i =0; i < a.size(); i++)
{
if (i%2 == 0)
{
a[i] = a[i+1];
}

cout << a[i];
}

return 0;
}

1 réponse

Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

la récupération de la clé est un peu compliquée, on veut lire la ligne, il suffit de faire
std::getline(fichier,a);
.

Pour le chiffrage, un caractère sur 3 est la valeur initiale, le suivant est sa modification, puis un espace séparateur existe. Il ne devrait pas y avoir de modulo 2 mais plutôt un modulo 3 quelque part.
La chaîne nommée
texte
est à chiffrer et pourtant on ne s'en sert nulle part.
0