![]() |
AW: "Verschlüsselung"
Hm.
@Himitsu: Also ich habe "Embarcadero® RAD Studio XE7 Version 21.0.17017.3725". In der "ver.inc" taucht folgendes auf:
Delphi-Quellcode:
Das müsste doch eigentlich Funktionieren, oder sehe ich das falsch?
{$IFDEF VER150} {Borland Delphi 7.0 }
{$DEFINE VER_D7} {$DEFINE VER_D7H} {$DEFINE VER_D6H} {$DEFINE VER_D5H} {$DEFINE VER_D4H} {$DEFINE VER_D3H} {$DEFINE VER_D2H} {$DEFINE VER_D1H} {$ENDIF} @Jens/Sherlock: Ich werde mir auch eure Ideen mal ansehen und ausprobieren, vielen Dank schonmal! :) |
AW: "Verschlüsselung"
Zitat:
|
AW: "Verschlüsselung"
Delphi XE7 = VER280 = CompilerVersion 28.0 / IDE-Version 21.0
Delphi 7 = VER150 = CompilerVersion 15.0 / IDE-Version 7.0 (Drum gibt es auch kein Windows 9, sondern man springt gleich zu Windows 10 ... Win9x) Wenn nur mit diesen doofen VERxxx-Defines gearbeitet wird, dann muß man in diesen INCs explizit jede Delphi-Version implementieren, vorallem wenn man das falschrum auswertet (was zu oft gemacht wird) Falschrum: Funktionen nur aktivieren Richtigrum: Funktionen bei bekannten Delphi deaktivieren und wenn Delphi unbekannt, dann von neuem Delphi ausgehn Oder man benutzt endlich mal die CompilerVersion-Konstante, welche seit Delphi 6 existiert :wall: Oder noch besser, man prüft auf Features und nicht auf Versionen. z.B. UNICODE-Define oder SizeOf(Char) statt Delphi2009+ Es gibt nicht umsonst für's $IF die Funktionen Declared und Defined. :roll: |
AW: "Verschlüsselung"
Aber was soll ich denn nun tun? Ich kann doch nicht einfach die Version in die .inc aufnehmen, oder?
|
AW: "Verschlüsselung"
Warum nicht?
|
AW: "Verschlüsselung"
Guten Abend,
es tut mir wirklich leid, dass ich mich scheinbar so blöd anstelle, aber ich habe vorhin alle drei von euch vorgeschlagenen Möglichkeiten ausprobiert und komme bei keiner ein Stück weiter. Es muss doch irgendwo eine Art Tutorial für ein einfaches Verschlüsseln von Dateien geben. Mir ist klar, dass es sehr aufwendig werden kann, wenn man eine wirklich sichere Technik braucht, aber ich will ja nur, dass nicht jeder "Hans" gleich drauf zugreifen kann. Es muss ja keinem großen Hackerangriff standhalten... Naja. Ich werde mich nochmal auf die Suche machen und schauen, ob ich irgendwo etwas finde, womit ich klarkomme, sonst versuche ich eben, mir selbst etwas zu schreiben. Falls doch noch jemand von euch eine Idee hat wäre ich trotzdem sehr dankbar. *Edit* Könnte ich nicht auch mit BlockWrite/BlockRead die Datei Stückweise einlesen, diese anhand eines Verfahrens vertauschen und dann speichern? Bevor die Datei mithilfe des Programms zurücksortiert wird wäre sie dann unbrauchbar. Ist selbstverständlich nicht die sicherste Variante, aber das muss es ja wie gesagt auch nicht sein. Meint ihr, das funktioniert? |
AW: "Verschlüsselung"
Freund der Sonne,
du wirst doch wohl in der Lage sein, - eine Datei mit Blockread zu lesen - die einzelnen Blöcke mit einem simplen XOR zu Verschlüsseln - den Block in die Zieldatei zu schreiben. |
AW: "Verschlüsselung"
In nahezu jedem Delphi-Grundlagen-Tutorial gibt es doch irgendwo ein XOR-Beispiel.
Und dann zeigt Google auch noch massig Links zu sowas. ![]() ![]() ![]() Man muß nur beachten, daß irgendwie viele Delphi-Beispiele im Internet noch aus Vor-Delphi2009-Zeiten stammen und man somit mit Unicode aufpassen muß, aber über TEncoding (nach TBytes umwandeln) oder durch Umwandlung in z.B. UTF8 lassen sich all diese Beispiele noch problemlos verwenden. Außerdem gibt es tausendeVerschlüsselungs-Bibliotheken, welche man ebenfalls verwenden könnte. |
AW: "Verschlüsselung"
Zitat:
![]() ![]() Echt jetzt ein Beispiel? Na gut, aber nicht vollständig!
Delphi-Quellcode:
Mavarik
var
A : TBytes; W : word; // Nur für kleine Dateien :-) ... begin .... W := Filesize... Setlength(A,W+2); .... Blockread(F,A[2],W); // oder Stream? Move(W,a[0],2); // Wofür wohl Stichwort mitten im "Stream"? for i:=2 to high(A) do begin A[i] := A[i] XOR $FF; // Version 1.0 A[i] := A[i] XOR byte(I AND $FF); // Version 1.5 end; ... Blockwrite(F,A[0],W+2); // oder Stream? ... |
AW: "Verschlüsselung"
@OlafSt: Nein, bin ich leider nicht, sonst würde ich ja nicht danach fragen. Was du gesagt hast, habe ich ja oben bereits angedeutet, aber da ich mit keinem dieser Begriffe bisher gearbeitet habe fehlt mir die Erfahrung, um die "Idee" auch tatsächlich umzusetzt. Wie gesagt, ich meine es ernst, wenn ich sage, es tut mir Leid, dass ich mich so blöd anstelle. Aber es ist eben mein "erstes Mal". :-)
@Himitsu: Vielen Dank für die Links, die habe ich mir mal angesehen. Jetzt weiß ich wenigstens, wie man XOR zu verstehen hat. Das genauere Tutorial werde ich mir später mal ansehen, erstmal muss ich mit Blockread/write und dem verschieben an sich klarkommen. @Mavarik: Vielen Dank für Dein Beispiel. Ich habe Deinen Beitrag duchaus gesehen, daher auch meine Idee, aber entschuldige bitte, dass ich es scheinbar so formuliert habe, dass Du Dich übergangen gefühlt hast. Dazu ein paar Fragen: 1. Ich habe zunächst versucht, "F" zu initialisieren:
Delphi-Quellcode:
Daraufhin bekomme ich bei
AssignFile(F,OpenDialog1.FileName)
ReWrite(F);
Delphi-Quellcode:
jedoch direkt einen Fehler (E/A Fehler 103). Ich habe mal nach dem Problem gesucht und es daraufhin mal mit
W := Filesize(F);
Delphi-Quellcode:
versucht um sicherzugeben, dass es die richtige Prozedur ist, aber daran liegt es zumindest wohl schonmal nicht. Woran liegt das denn? Die Datei ist nicht schreibgeschützt oder ähnliches.
W := System.Filesize(F);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 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