Implements a Vigenere cypher, both encryption and decryption. The function handle keys and text of unequal length and discards non-alphabetic characters.
Vigenere(x, key = NULL, decrypt = FALSE)
the encrypted, resp. decrypted text
the text to be encrypted
the key to be used. If this remains to NULL
the PasswordDlg will be presented and the key can be entered there.
boolean defining if the text should be encrypted or decrypted.
Andri Signorell <andri@signorell.net>
strongly based on code found at https://rosettacode.org/wiki/Vigen%C3%A8re_cipher#R (credits to the unknown soldier)
All characters beside charlist = c(LETTERS, letters, 0:9) will be discarded from the text and from the key.
key <- "My FavoriteKey452"
(xenc <- Vigenere("Beware the Jabberwock, my son! The jaws that bite, the claws that catch!", key))
Vigenere(xenc, key, decrypt = TRUE)
# note that everything besides the characters in the list will be discarded
Run the code above in your browser using DataLab