Delphi-Quellcode:
tmp := Ord(AText[i]) - Ord('A'); // Normalisieren
tmp := (26 + (tmp - normedKey)) mod 26; // Verschieben
Result[i] := Chr(tmp + Ord('A')); // Denormalisieren
Normalisieren macht aus A=0, B=1 usw.
bei Denormalisieren ist es genau andersrum
und das in der Mitte würde ich mal etwas verständlicher übersetzen
Delphi-Quellcode:
tmp := Ord(AText[i]) - Ord('A'); // Normalisieren
tmp := tmp + normedKey; // Verschieben
if tmp >= 26 {Z} then tmp := tmp - 26;
Result[i] := Chr(tmp + Ord('A')); // Denormalisieren
und wenn du jetzt aus AKey noch einen String machst und dort ebenfalls jeweils ein Zeichen für die Verschiebung nimmst, dann hast du schon deine Lösung
Code:
der zu verschlüsselnde Text.
Schlüssel
Schlüssel
Schlüssel
S