String verschlüsseln

Und Du kannst mir aber auch nicht sagen, wie ich das hinkriegen könnte, oder?

Das wäre natürlich angenehm, wenn die Zeilenstruktur auch verändert werden würde...

Ich versteh auch wirklich nicht, wieso die Zeilenumbrüche nicht vernünftig verschlüsselt werden...
 
Also, ich bin zwar ne Frau, und Frauen haben ja bekanntlich keine Ahnung... ;-)
Aber das war doch natürlich das erste was ich probiert habe, davon ausgehend bin ich doch zu meinen if-abfragen gekommen...
 
Also, ich beschreibe das mal von vorne bis hinten:
erst öffne ich die datei mit fp=fopen(datei,"a");
dann schreibe ich einen ganz normalen String in die Datei, dieser String enthält auch öfter '\n' .
Dann wird ein buffer in die datei geschrieben, in dem alles steht, was in einer Dialogbox eingetippt wurde!
dann schreibe wieder ich einen ganz normalen String in die Datei, dieser String enthält auch öfter '\n'
Dann öffne ich die Datei mit fopen(datei,"rb") um alles, was in der Datei steht in einer Dialogbox auszugeben!
Bevor ich etwas in die Datei schreibe, wird es mit der Fkt verschlüsselt, bevor ich es in der Dialogbox wieder ausgebe, wird es entschlüsselt, ich weiß nicht, was man da falsch machen kann bei fopen?
 
Öffne mal für das reinschreiben mit fopen(datei,"ab");
Ich glaube Kachelator hatte erwähnt, dass wenn man nicht binär öffnet, es Probleme mit dem \n geben kann. Achja, du öffnest zum anhängen, löschst den Dateiinhalt also nicht, ist das beabsichtigt? Ach ja, poste mal bitte noch die Routine, mit der du in die Datei schreibst.
 
Also wenn ich das mit "ab" öffne, dann geht alles durcheinander, das geht irgendwie nicht, da kommen dann immer diese quadrate, die kennste sicher, oder? ;-)

ICh schreibe rein mit fprintf(fp,buffer)
buffer ist entweder vom Typ char buffer[500]
oder vom Typ char buffer2[10][4096]
wobei ich bei buffer2 immer buffer2[x][ ] nehme, x=0-9
 
Zuletzt bearbeitet:
Hier:

Code:
void Crypt(char shiftbyte, char *input, char *output)
{
  FILE *finput = fopen(input,"rb");
  fseek(finput,0,SEEK_END);
  int lSize=ftell(finput);
  rewind(finput);
  
  char *buffer = (char*)malloc(sizeof(char)*lSize+1);
  fread(buffer,1,lSize,finput);
  buffer[lSize] = 0;
  fclose(finput);
  
  //Encoden
  for (int i = 0; i < lSize; i++)
  {
    buffer[i] += shiftbyte;
  } 
  
  FILE *foutput = fopen(output,"wb");
  fwrite(buffer,1,lSize,foutput);
  fclose(foutput);
  
  free(buffer);
}

Die Funktion funktioniert. Brauchst sie nur aufrufen, als ersten Parameter eine Zahl eingeben, der zweite Parameter ist die Ursprungsdatei, die verschlüsselt wird, der zweite die Datei, die dann verschlüsselt ist (kann auch die gleiche sein). Zum entschlüsseln auch die Funktion aufrufen und einfach die gleiche Zahl wie zum Verschlüsseln nur negativ eingeben.
Kannst das auch anpassen und in zwei Funktionen (zum ver- und entschlüsseln) unterteilen und die Entschlüsselfunktion nur einlesen und die Verschlüsselfunktion nur schreiben lassen, wenn du was mit buffer anstellen willst.
 

Neue Beiträge

Zurück