Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 12.07.2004, 08:57 Titel: .DBF Verschlüsseln |
|
|
Hallo.
Ich hab MFC-Asisstent ein einfaches Datenbank-Programm erstellt,
jetzt will ich noch die Datenbank-Datei(.DBF) verschlüsseln damit es nur von meinem Programm gelesen werden kann.
Hat jemand 'ne Ahnung wie es geht?
Danke. |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 12.07.2004, 11:55 Titel: |
|
|
Du könntest z.B. ein Passwort wählen und jedes Byte der Datenbank per Exklusiv-Oder-Vernüpfung(^) verknüpfen
Das eignet sich deshalb so gut dafür, weil der Vorgang ohne Probleme rückgängig machbar ist _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 14.07.2004, 12:31 Titel: |
|
|
Hmm,ich glaub es ist zu hoch für mich aber egal. |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 14.07.2004, 13:09 Titel: |
|
|
Zu hoch ist es bestimmt nicht. Ein XOR hat die tolle Eigenschaft, dass es bei zweifacher Anwendung die urspüngliche Zahl/Byte liefert.
Code: |
char x = 'A';
char pw = 211; // das "Passwort"
x = x ^ pw; // x ist jetzt verschlüsselt
x = x ^ pw; // und wieder entschlüsselt
|
ist kein toller Schutz, reicht aber, wenn du verhindern willst, dass jemand mal eben so deien Datei liest.
C. |
|
Nach oben |
|
|
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 09.08.2004, 15:34 Titel: |
|
|
Das mit ^ hab' ich jetzt verstanden und um eine Highscoreliste zu verschlüsseln ist es gut geeignet,aber bei Datenbank-Dateien(.DBF) klappt es nicht.Es wird zwar verschlüsselt,aber wenn ich das dekodiere ist die Datei nur wenige Byte gross.
Und noch eine Frage ,wie binde ich das alles ins MFC-Gerüst ein ?
Code: | FILE *fp_in,*fp_out;
char zeichen,dateiname[100];
int passw=86;
printf("Welche Datei soll codiert werden: \n");
scanf("%s",&dateiname);
if((fp_in = fopen(dateiname,"rt"))==NULL)
{
printf("Fehler beim Offnen der Datei\n");
exit(0);
}
if((fp_out = fopen("codiert.dbf","wt"))==NULL)
{
printf("Fehler beim Schreiben der Datei\n");
exit(0);
}
while((zeichen=fgetc(fp_in))!=EOF)
{
if(isprint(zeichen) && isprint(zeichen ^ passw))
fputc(zeichen= zeichen ^ passw,fp_out);
else
fputc(zeichen,fp_out);
}
fclose(fp_in);
fclose(fp_out); |
So hab ich die Datei kodiert und genauso dekodiert,was ist da falsch?
Bitte Helfen!!! |
|
Nach oben |
|
|
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 11.08.2004, 10:07 Titel: |
|
|
Kann mir den keiner helfen? |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 11.08.2004, 10:10 Titel: |
|
|
Erstmal sieht der Code ganz gut aus, aber sind .DBF-Dateien wirklich Textdateien? Dann weiss ich auch nicht, ob du nicht besser while(!feof(f)) anstatt while(zeichen != EOF) schreiben solltest.
C. |
|
Nach oben |
|
|
PeaceKiller JLI Master
Alter: 35 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 11.08.2004, 10:12 Titel: |
|
|
Könnte es sein das es am alingment liegt. Ein Int hat ja 32bit und deshalb stimmt es vielleicht nicht. Du könntest ja versuchen das Ende künstlich aufzufüllen und hinterher wieder abzuschneiden. _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 11.08.2004, 11:16 Titel: |
|
|
Wie funzt denn das auslesen einer solchen Datenbank-Datei?
Liest der dann immer Datenpäckchen aus oder was?
Wenn ja, dann könntest du mal versuchen, die Datei im Binärmodus zu öffnen(siehe hier) und die Daten in diesem Modus ver-/entschlüsseln und dann interpretieren - oder alternativ in eine Temporäre DBF-Datei schreiben und dann wie gewohnt auslesen. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 16.08.2004, 15:08 Titel: |
|
|
Also die DBf-Dateien sind text Dateien.Ich hab jetzt versucht eine andere Datei zu verschlüsseln-es klapt. Ich muss noch herausfinden wieso es bei einer Datei funltioniert und bei der anderer nicht. |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 16.08.2004, 15:09 Titel: |
|
|
Das könnte an den Steuerzeichen liegen EOL, EOF, BEEP,... oder auch am Grenzbereich der char Zeichen (0-255 oder -128-127,...) _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Maxim Senior JLI'ler
Anmeldedatum: 28.03.2004 Beiträge: 249
Medaillen: Keine
|
Verfasst am: 16.08.2004, 15:27 Titel: |
|
|
Gib es eine Liste mit ALLEN Steuerzeichen? |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 16.08.2004, 15:38 Titel: |
|
|
Vieleicht hilft dir das hier weiter:
http://n.ethz.ch/student/stammt/doc/Allgemeines/Ascii.html _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
|