Andere Lösung:
Wende z.b.
Bubblesort auf den String an und merke dir in der Tauschen-Prozedur die Vertauschungen ... wenn du diese dann rückwärts durchführst, solltest du den ursprünglichen String erhalten.
Wenn du es so machst, könntest du den
n String aber auch zufällig verwirbeln:
Delphi-Quellcode:
function Wirbel(x: String): String;
var i: integer;
procedure tausche(a, b: integer);
var temp: char;
begin
temp := result[a];
result[a] := result[b];
result[b] := temp;
merke(a, b);
end;
begin
if length(x) > 1 then
begin
result := x;
for i := 1 to length(x) do tausche(i, random(length(x))+1);
end;
end;
Das würde mit weniger Vertauschungen als z.B. Bubblesort auskommen (
randomize nicht vergessen).
MfG,
Bug
PS: Es ist natürlich klar, dass das alles keine Verschlüsselung ist, sondern eher eine
"Verschlüsselung
"