# Author: Marek K.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
# Dieses Programm ist Freie Software: Sie koennen es unter den Bedingungen
# der GNU General Public License, wie von der Free Software Foundation,
# Version 3 der Lizenz oder (nach Ihrer Wahl) jeder neueren
# veroeffentlichten Version, weiter verteilen und/oder modifizieren.
#
# Dieses Programm wird in der Hoffnung bereitgestellt, dass es nuetzlich sein wird, jedoch
# OHNE JEDE GEWAEHR,; sogar ohne die implizite
# Gewaehr der MARKTFAEHIGKEIT oder EIGNUNG FUER EINEN BESTIMMTEN ZWECK.
# Siehe die GNU General Public License fuer weitere Einzelheiten.
#
# Sie sollten eine Kopie der GNU General Public License zusammen mit diesem
# Programm erhalten haben. Wenn nicht, siehe .
caesar_encrypt = function(char, key)
{
res = utf8ToInt(char) + key
while(res > utf8ToInt("z"))
res = res - 26
return (intToUtf8(res))
}
caesar_decrypt = function(char, key)
{
res = utf8ToInt(char) - key
while(res < utf8ToInt("a"))
res = res + 26
return (intToUtf8(res))
}
caesarcipher = function(str, key)
{
encrypt = ""
decrypt = ""
for(i in 1:nchar(str))
{
encrypt = paste(encrypt, (caesar_encrypt(substring(str, i, i), key)), sep="")
decrypt = paste(decrypt, (caesar_decrypt(substring(str, i, i), key)), sep="")
}
return(c(encrypt, decrypt))
}
res = caesarcipher(commandArgs(TRUE)[1], as.integer(commandArgs(TRUE)[2]))
print(paste("Encrypt:", res[1]))
print(paste("Decrypt:", res[2]))