Programm zum Verschlüsseln von Texten



  • Ok, danke, jetzt klappt es..(dummer Fehler^^)

    @big brother:
    Ich habs jetzt auch noch in Unterprogramme unterteilt, aber es sollte eigentlich nur ein kleiner Teil eines großen Programmes darstellen, daher habe ich es jetzt in nur 2 große Funktionen, nähmlich "verschluesseln" und "entschluesseln" unterteilt.

    EDIT:
    Ich habe noch einen Zähler eingebaut, der zuvor die Buchstaben zählt, die in der Datei vorhanden sind, damit er nicht mehr Bits verschiebt, als es in der Datei gibt.
    Kennt jemand eine Lösung, wie ich nach dem Zählen wieder am Anfang der Datei lande? Den im Moment muss ich die Datei schließen, und wieder öffnen, damit ich die Bits am Anfang verschieben kann.

    while( getc(in_file) != EOF ) count++;
    fclose(in_file);
    in_file = fopen("unverslt.txt", "r");
    

    Es wäre nähmlich nicht mehr so unschön, wenn ich mich mit einem Befehl wieder am Anfang der Datei befinden würde.

    Aber nochmals DANKE an Alle!! 🙂



  • Du verschiebst doch die Bits jedes einzelnen Bytes separat, da interessiert doch die Anzahl der Zeichen nicht.



  • Doch, zum Beispiel beim in die Datei schreiben 😉

    Denn wenn ich mehr Zeichen schreiben will, als ich überhaupt verschoben habe, kommt Stuss raus^^



  • _qwert schrieb:

    Kennt jemand eine Lösung, wie ich nach dem Zählen wieder am Anfang der Datei lande?

    mit fseek: http://en.wikipedia.org/wiki/Fseek
    🙂



  • _qwert schrieb:

    Doch, zum Beispiel beim in die Datei schreiben 😉

    Denn wenn ich mehr Zeichen schreiben will, als ich überhaupt verschoben habe, kommt Stuss raus^^

    Brauchst die Zeichen nicht zählen, es werden auch nicht mehr reingeschrieben:

    char encode_decode ( char c, int add )
    {
    	c = (unsigned char)c += add;
    	return c;
    }
    
    // Verschlüsseln
    	while ( (c = fgetc(in)) != EOF )
    		fputc ( encode_decode ( c, 4 ), out );
    
    	// Entschlüsseln
    	while ( (c = fgetc(in)) != EOF )
    		fputc ( encode_decode ( c, -4 ), out );
    


  • Ok, jetzt mal eine andere Frage:

    Wie verschleiere ich meine Eingabe im Konsolenprogramm.
    (Will heißen z.B. die Passwort-eingabe mit Sternchen zu versehen, oder einfach gar nicht anzuzeigen)

    EDIT: Ok, ich hab jetzt einfach mal getch() genommen.


Anmelden zum Antworten