Ich fass mich kurz. Erst einmal oben, dieser Copy Fehler^^ Ja, Info liegt schon nen weilchen zurück. Habs mitlerweile korrigiert.
Ich habs jetzt mal umgeschrieben:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var text1,text2: string;
i,x: integer;
begin
text1 := FileToString('abc.xyz'); // datei hat nix zu sagen, dient als temp. Datenquelle
x := length(text1);
ShowMessage('Messung starten');
for i := 1 to 50 do
begin
SetLength(text2, x); // Speicher reservieren
Move(text1[20000], text2[1], 500000 - 19999);
Move(text1[1], text2[500001 - 20000], 19999);
Move(text1[500001],text2[500001], x);
end;
ShowMessage('Fertig');
end;
procedure TForm1.Button7Click(Sender: TObject);
var text1,text2: string;
i,x: integer;
begin
text1 := FileToString('abc.xyz'); // datei hat nix zu sagen, dient als temp. Datenquelle
x := length(text1);
ShowMessage('Messung starten');
for i := 1 to 50 do
begin
SetLength(text2, x); // Speicher reservieren
text2 := copy(text1,20000,500000 - 19999) + copy(text1,1,19999) + copy(text1,500001,length(text1) - 500000);
SetLength(text2, x);
MoveMemory(@text2[1], @text1[20000], 500000 - 19999);
MoveMemory(@text2[500000 -19999 + 1], @text1[1], 19999);
MoveMemory(@text2[500001], @text1[500001], x);
end;
ShowMessage('Fertig');
end;
Allerdings steigt der mir da immer aus. Ich vermute, dass es daran liegen muss:
Delphi-Quellcode:
MoveMemory(@text2[500001], @text1[500001], x);
// und daran:
Move(text1[500001],text2[500001], x);
Hab halt noch nie damit gearbeitet. Aber mein Algorithmus ist so programmiert, dass die Länge IMMER anders ist, auch wenn die Datei immer gleich groß ist.
Was AQtime angeht, werde ich mir gleich noch reinziehen. Die Zeit opfere ich. Sollte die Optimierung nur minimal sein, so kann man es sein lassen.
Was das Verschlüsseln angeht, das was skyobserver geschrieben hat ist mir bekannt und auch korrekt. In ähnlicher Art und Weise habe ich das alles schon ein paar mal gelesen. Mir ist auch klar, dass wenn man einen Schlüssel hat, der so lang ist, wie der zu verschlüsselnde Text, es nicht zu knacken ist. Was würdest du sagen, wenn ich dir sage, dass dies bei mir indirekt der Fall ist?
Ich habe mich ungefähr einen Monat hingesetzt und etwas nahezu, nach meinen Begriffen, unknackbares geschaffen, obwohl der Schlüssel nicht so lang ist. Ich hoffe, dass sich dort jeder die Zähne dran ausbeißen wird, aber bevor ichs veröffentliche will ich noch nen Patent oder so
Irgendetwas damit niemand auf die Idee kommt das von mir abzukupfern. Und dann können wir darüber streiten, ob man das knacken kann, ok?
Mir ist bereits eine Lösung eingefallen, wie man dieses Zeitproblem lösen könnte. Gar nicht! Man macht einfach den Schlüssel ein bisschen länger, dann gleicht sich das aus mit dem, was die "Profis" da programmieren könnten damit es schneller geht. Knacken ist eigentlich unmöglich.
Was vielleicht noch zu erwähnen ist... Mein Programm bastelt sich bei jeder Verschlüsselung quasi einen neuen Algorithmus zusammen, soll bedeuten, die Daten werden jeweils mit einem einmaligen Algorithmus verschlüsselt, wie genau das abläuft muss man nicht verstehen. Aber das Entschlüsseln funktioniert ebenfalls