38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
Program CaesarCipher(output);
|
|
|
|
procedure encrypt(var message: string; key: integer);
|
|
var
|
|
i: integer;
|
|
begin
|
|
for i := 1 to length(message) do
|
|
case message[i] of
|
|
'A'..'Z': message[i] := chr(ord('A') + (ord(message[i]) - ord('A') + key) mod 26);
|
|
'a'..'z': message[i] := chr(ord('a') + (ord(message[i]) - ord('a') + key) mod 26);
|
|
end;
|
|
end;
|
|
|
|
procedure decrypt(var message: string; key: integer);
|
|
var
|
|
i: integer;
|
|
begin
|
|
for i := 1 to length(message) do
|
|
case message[i] of
|
|
'A'..'Z': message[i] := chr(ord('A') + (ord(message[i]) - ord('A') - key + 26) mod 26);
|
|
'a'..'z': message[i] := chr(ord('a') + (ord(message[i]) - ord('a') - key + 26) mod 26);
|
|
end;
|
|
end;
|
|
|
|
var
|
|
key: integer;
|
|
message: string;
|
|
|
|
begin
|
|
key := 3;
|
|
message := 'The five boxing wizards jump quickly';
|
|
writeln ('Original message: ', message);
|
|
encrypt(message, key);
|
|
writeln ('Encrypted message: ', message);
|
|
decrypt(message, key);
|
|
writeln ('Decrypted message: ', message);
|
|
end.
|