Bonjour, Je m'appel Josselyn et je suis nouveau sur le forum de Developpez.com
Je travail sur le cryptage des mot de passes depuis plusieurs semaines dans le but d'un oral avec présentation vendredi.
Pour améliorer celle-ci j'essaye de développer un code permettant de prendre une chaîne de caractère stocké dans un fichier pour la copier dans un autre, je m'explique :

J'ai besoin de pouvoir saisir deux chaines et de les stocké dans un fichier sous le model suivant :

chaîne 1 chaîne 1'

chaîne 2 chaîne 2'

chaîne 3 chaîne 3'

ect..

[ la chaîne de gauche correspondant à un mot ou une phrase et celle de droite a son chiffrage en md5. ( J'ai déjà le code me permettant le chiffrage, ici j'ai juste besoin de pouvoir saisir et stockés les chaines ) ]

Pour ensuite pouvoir comparer, grâce a une seconde fonction permettant le parcours du fichier (ou tableau) réaliser plus haut, un mot saisi, au mot stocké dans le fichier.

une fois la comparaison vraie (mot_saisi = chaîne x) pouvoir saisir un entier qui déterminera le déplacement curseur de n ligne plus bas pour prendre une chaine de droite (exemple : chaine 3') et stocké le mot_saisi et la chaine 3' dans un second fichier.

en résumé: je souhaite saisir des chaines dans un fichier, pouvoir ensuite, grâce à une autre procédure, saisir un mot qui sera comparer avec un parcours du fichier ( ou tableau) précédent. Me déplacer dans ce fichier (ou tableau) et saisir un objet de ce fichier et stocké le mot saisie et la chaîne saisie dans un autre tableau ou fichier.

par exemple si le mot_saisi correspond à la chaîne 1 je veux pouvoir me déplacer en saisissant n=4 sur la ligne 5 et prendre la chaîne 5'.


fichier 1 fichier 2
-------------------- -------------------
chaîne 1 chaîne 1' mot_saisi chaîne 5'

chaîne 2 chaîne 2'

chaîne 3 chaîne 3'


J’espère avoir été assez clair dans mes explications
D'avance un grand Merci !

ci joint le code source de ce que j'ai essaye de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string.h"
#include "fstream"
#include "fstream"
#include <string.h>
#include <string>
 
 
using namespace std;
 
 
 
class cryptage
{
private:
	char mot;
	char hach;
 
public:
 
	void Init (int Smot,int Shach){mot=Smot;hach=Shach;}
	char Consulter(){return hach;}
	char Getmot(){return mot;}
};
 
 
 
typedef struct
{
	char motc[100];
	char hachc[100];
 
}Scrypt;
Scrypt uncrypt;
 
 
 
 
void addmot()
{
        ofstream fichier("Hash.txt", ios::app);  // ouverture en écriture à la suite du fichier sans effacer les données.
 
        if(fichier)
        {
 
			int n=1;
			int i=20;
			int p=1;
 
				cout<< "entrez le mot";
				cin>>uncrypt.motc;
				cout<< "entrez hash correspondant";
				cin>>uncrypt.hachc;
                                fichier<<uncrypt.motc<<"\t"<<uncrypt.hachc<<"\n";
 
			fichier.close();
        }
        else
                cerr << "Impossible d'ouvrir le fichier !" << endl;
}
 
void chiffrer()
{
	int n;
	int i;
	i=1;
	char m[100];
	char h[100];
	cout << "entrer le mot a chiffrer";
	cin >> m;
	ifstream fichier("Hash.txt"); // declaration et ouverture du fichier en lecture 
	fichier >> uncrypt.motc >> uncrypt.hachc; // lecture du 1er article du fichier hash.txt
	while(!fichier.eof()) // tant qu'on est pas arrivé à la fin du fichier
	{
// la j'aimerais comparer le mot saisi avec les chaines en incrémentant de 1 a chaque fois
		if(strcmp(m,uncrypt.motc))! =0) // si la comparaison est juste
		{		
                                cin >> n
                                m[i]=m[i+n];
				strcpy(h,uncrypt.motc); // et là enfait j'aimerais faire prendre pour valeur a h  la chaine uncrypt.motc la stocké dans un second fichier 
				cout << h;
		}
 
		else
		{		i=i+1;
				fichier >> uncrypt.motc >> uncrypt.hachc;// lecture article suivant
		}
	}
	fichier.close();// fermeture du fichier
}