TXT Datei Schlüssen
-
hallo

ich lese eine .txt datei in ein Array ein:
ifstream Quelldatei; Quelldatei.open(Datei, ios_base::in); // Datei txt öffnen char c; char a[2000]; int i=0; while (Quelldatei.get(c)) { a[i]=c; i++; }nun würde ich den text gerne verschlüsseln und neu abspeichern.
wie mache ich das am besten? so das man es auch wieder entschlüsseln kann?sowas wäre ja zu einfach und macht kein sinn:
for (int j=0;j<i;j++){ a[j]=a[i+1]; }danch dachte ich mir speichere ich das array wieder so in die eine .txt Datei;
string out(a); // a ist dein Array ofstream outfile; outfile.open ("out.txt"); outfile << out; outfile.close();
-
Was stellst du dir denn unter "verschlüsseln" vor? Es gibt verschiedene Mechanismen, ich kenn ja deinen Hintergrund nicht. Manchmal mach es auch keinen Sinn, die verschlüsselten Stings wieder zu entschlüsseln. Als Beispiel die Ablage von Passwörtern. Die kann man z.B. mit MD5 codieren. Allerdings wirst du nie wieder vom MD5-String auf den Ursprungsstring zurückfinden. Gibt jetzt ein Beutzer als Verifikation ein Passwort ein, so kannst du das ja auch wieder mit MD5 kodieren und das was du rausbekommst mit dem vergleichen, was abgespeichert ist. Bei Gleichheit ist die Verifikation erfolgreich, ohne jetzt das wahre Passwort zu kennen.
-
ist nur ein übungsprojekt
ich verschlüssel es jetzt einfach mit
for (int j=0;j <i;j++){ t_str[j] = 255 - t_str[j]; }nur eine frage noch
davor muss jetzt halt mein array in ein string umwandeln...kann ich nicht gleich die datei in ein string einlesen?
also hier in dem teil gleich:ifstream Quelldatei; Quelldatei.open(Datei, ios_base::in); // Datei txt öffnen char c; char a[2000]; // <<< ANDERST MACHEN? int i=0; while (Quelldatei.get(c)) { a[i]=c; i++; }
-
pnimer schrieb:
ist nur ein übungsprojekt
ich verschlüssel es jetzt einfach mit...
naja, ich würde es nicht Verschlüsselung nennen
Ich würde nie ne Datei in ein Array einlesen. Woher willst du wissen, dass die Arraygrenzen ausreichen? Es gibt dafür dynamische Strukruren, wie z.B. CArray, die können zur Laufzeit vergrößert werden.