Einzelnen Beitrag anzeigen

Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Simple Text-Kodierung (durch Addition)

  Alt 6. Nov 2003, 19:44
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
  Mit Zitat antworten Zitat