Categories
Old Posts

Simple Ceaser-Cypher

Some weeks ago i found this website called “Programming Praxis“, where you can find exercices to practice your programming skills. So every week they post a new problem and a possible resolution (it’s better if you only see it after you’ve done yours), and people try to solve and add a comment with their solution which is fun because you can see diferent ways of thinking in diferent languages.

So i will try once in a while (when time isn’t short) to solve some problems and post here my solutions (generally in python, but i will try other languages too). For this first time i have picked an old and simple problem posted in 2009 (here) about the Ceaser-Cypher which is basically an ancient, simple an totally insecure encryption method, where you add 13 to every letter in the sentense (example: “a” + 13  =  “n”) and when it reaches “z” you return to “a” (example: “t” + 13 = “h”).

So here is the function and the answer to their question:

def ROT13(string):
	new_string=""
	for i in string:
		letter=ord(i)
		if (letter>=65 and letter<=90) or (letter>=97 and letter<=122):
			if letter<=90 and letter+13>90:
				new_string += chr(64+(letter+13-90))
			elif letter<=122 and  letter+13>122:
				new_string+=chr(96+(letter+13-122))
			else:
				new_string+=chr(letter+13)
		else:
			new_string+=i
	return new_string 

Question: What is the meaning of “Cebtenzzvat Cenkvf vf sha!”?
Answer: Programming Praxis is fun!

P.S: I know that the solution could be more elegant but for now this one does the job

So i will try once in a while (when time isn

By Gonçalo Valério

Software developer and owner of this blog. More in the "about" page.