Hi, ich hab mal probiert, ein Verschlüsselungsprogramm zu schreiben (in BP7) und wollt jetz mal wissen, ob das, so wie ichs gemacht hab, sicher ist.
PROBLEM: Das kodieren von Dateien über 500 Kb ist/war unmöglich (Zeitaufwand).
Delphi-Quellcode:
procedure Kodieren (pw1,pw2 : string; code_int : integer);
var code_int_str, i, i5, zahl : integer;
begin
// Zahl ist die Summe aller Ziffern der Geheimzahl
zahl := 0;
for i := 1 to length(code_str1) do
zahl := zahl + ord(pw1[i]);
for i := 1 to length(code_str2) do
zahl := zahl + ord(pw2[i]);
str (code_int, code_int_str);
repeat
i5 := i5 + 1;
if i5 = length(code_int_str) then i5 := 1;
// Einlesen eines Zeichens
read (t,ch);
// Schreiben des kodierten Zeichens
write (d, ord(ch) + code_int + ord (code_int_str[i5]) + zahl );
until EOF (t);
end;
Die Zeichen werden jetzt wieder als Byte eingelesen, in Integer umgewandelt und
dann werden zu der Summe eines jeden Zeichens noch die einzelnen Zeichen von den beiden Passwörtern dazu addiert.
PW1 := 'ABCDE';
PW2 := 'FGHIJ';
CI := 12345;
Text:= 'Hallo';
---------------
Kod('H') = Wert('A') + Wert('F') + 1;
Kod('a') = Wert('B') + Wert('G') + 2;
usw. wird jedoch nicht immer nach dem Muster gerechnet,
dazu werden noch Zeichen der PWs multipliziert.
---------------
Ich hab noch ein paar weitere Addition und Subtraktionen mittels VorzeichenWechsel eingebaut, ist aber zu kompliziert und unübersichtlich, um es hier darzustellen.
Wie oben schon geschrieben, wird die kodierte Datei im LongInteger - Format gespeichert, weshalb sie dann auch exakt 4 mal so groß wie die Original-Datei ist.
Ich muss aber noch sagen, dass ich dieses "Programm" nur zum Verschlüsseln kleinster Dateien (ca. 30 Kb) vorgesehen habe (für meine eigenen Programme).
Reicht euch das, um mir sagen zu können, "geht so" oder "nee, lieber nich" !?
devnull