-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathalgorithm-en.txt
More file actions
27 lines (22 loc) · 947 Bytes
/
algorithm-en.txt
File metadata and controls
27 lines (22 loc) · 947 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
FONCTION CaesarCipher (STRING message, INTEGER key): STRING
VARIABLE alphabet_length : INTEGER, encrypted_message : STRING, encrypted_character : STRING,
message_length : INTEGER, first_character : STRING, counter : INTEGER
key <-- key % alphabet_length
IF (key < 0) THEN
key <-- key + alphabet_length
END IF
message_length <-- LENGTH(message)
encrypted_message <-- ""
FOR counter FROM 1 to message_length DO
IF (isAlphabetic(message[counter])) THEN
first_character <-- 'a' OR 'A'
encrypted_character <-- (message[counter] - first_character + key) % alphabet_length + first_character
encrypted_message <-- encrypted_message + encrypted_character
ELSE
encrypted_message <-- message[counter]
END IF
END FOR
END
FONCTION CaesarDecipher (STRING message, INTEGER key): STRING
RETURN CaesarCipher(message, 26 - key)
END