![]() |
Textfile verschlüsseln
Hallo zusammen,
ich hab das Spiel Hangman (besser bekannt unter "Galgenmännchen") mal programmiert. Die Wörter werden per Zufallsgenerator aus einem Textfile (words.txt - in jeder Zeile steht ein Wort!) geholt und bei Spielstart angezeigt. Nun möchte ich, dass beim Spielende das Wort verschlüsselt wird und beim Spielstart entschlüsselt. Besser wäre es natürlich noch, wenn man die words.txt-Datei gar nicht öffnen könnte bzw. dann einen völlig verwirrenden Code (wie wenn man eine .exe-Datei mit Notepad öffnet) angezeigt bekommt und trotzdem im Spiel das richtige Wort. Hat jemand 'ne Idee? |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Klatsch und Tratsch" nach "Sonstige Fragen zu Delphi" verschoben.
Es geht doch um Delphi. Warum dann nicht in eine der Delphi-Sparten? ;-) |
Re: Textfile verschlüsseln
|
Hi,
es soll schon ziemlich sicher sein, sonst ist das Game ja langweilig! ;) Ich hab's gerade mal mit dem FileCrypter von Luckie versucht, aber das ist ja auch blöd. Da ist's zwar dann verschlüsselt, aber wenn ich dann spielen will, kommt als Abfrage das verschlüsselte Wort. Es soll ja so sein, dass die words.txt verschlüsselt ist - auch während des Spiels - und trotzdem die korrekten Wörter angezeigt werden! |
Re: Textfile verschlüsseln
ist ja logisch, das dann verschlüsselte wörter angezeigt werden, dein spiel muss die wörter dann schon wieder entschlüsseln.
|
Hai Kompon Ente
Regel 1: Die entschlüsselten Daten nie in einer Datei zweichen speicher. Du darfst also nicht die Datei an sich verschlüsseln/entschlüsseln. Mache dies für jeden einzelnen Eintrag. Wenn für dein Spiel nun ein neues Wort benötigt wird liest Du die entsprechende Zeile aus dem Textfile aus und entschlüsselst dann nur diese eine Zeile. Der entschlüsselte Text liegt dann einfach in einer Variablen. |
Hi,
habe gerade nochmal meinen Kollegen gefragt, der mir sagte, dass ich eine Datei nicht ohne weiteres schreibgeschützt "schützen" kann. Also man kann sie danach einfach in den Eigenschaften "ungeschützt" öffnen und sieht die Wörter ja dann. Nun ja, bleibt mir nichts anderes übrig als die Wörter einzeln (schon klar, Sharky ;)) zu verschlüsseln. Ich dachte an sowas (mit freundlicher Hilfe meines Kollegen):
Delphi-Quellcode:
Aber wie genau mach ich das mit meinen Wörtern???
function TForm1.verschluesseln(einWort: String): String;
var unvW: String; vW: String; B: String; i: Integer; begin unvW := einWort; vW := ''; for i := 1 to length(einWort) do begin B := copy(einWort,i,1); // B verschlüsseln vW := vW + B; end; Result := vW; end; |
Zitat:
Warum machst dus dir denn so kompliziert? Schreib dir ne Funktion, die n String verschlüsselt. Etwa so:
Delphi-Quellcode:
Dann liest du mit
function CryptStr(s: string): string;
begin //such dir dazu n Passendes Verschlüsselungsverfahren aus. Da gibts ne ganze Menge(mit natürlich unterschiedlichem Auswand und unterschiedlichem Sicherheitsgrad(von Rot13 über XOR und was Selbstgebasteltem bis zu AES und ähnlichem)) end; ![]() ![]() Zitat:
mfg Christian |
Hallo,
ja, danke erstmal für die Anregung! Der Satz hat insofern was damit zu tun, da diese Möglichkeit für mich nicht in Frage kommt und somit zwingend die Verschlüsselungsmethode. |
Zitat:
Zitat:
mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz