Blogger PostOrkutBookmark/FavoritesEmailFacebookTwitterShare

Em uma das aulas da Pós Graduação um professor pediu para “descriptografar”, na mão, uma frase que havia sido “criptografada” com a Cifra de César. Mas acabei optando por fazer um script Python para resolver o problema. ;-)

A seguir o código que fiz:

#Descriptograma a cifra de Cesar
import os

# Limpa a tela
os.system(['clear','cls'][os.name == 'nt'])

# Salto para descriptografia
salto=13

# Mensagem que sera descriptografada
frase_criptografada=’Cnen pbqvsvpne hz grkgb pbz n pvsen qr Prfne onfgn ebgnpvbane nf yrgenf rz germr cbfvcorf qb nysnorgb’.lower()

# Inicializa variavel que contera a mensagem descriptografada
frase_descriptografada=”

# Percorre a string que contem a mensagem criptografada
for i in frase_criptografada:
if i != ‘ ‘:
# Pega o numero do caracter da letra e subtrai o numero do salto
nova_letra=ord(i)-salto
# Na tabela de caracteres a letra “a” corresponde a 97 e a “z” corresponde a 123
# Caso a subtracao do salto com valor da letra seja inferior a 97, a diferena do valor sera subtraido de “123″ (lista circular)
if nova_letra<97:
x=97-nova_letra
nova_letra=123-x

# Converte o numero da letra  para caracter e concatena na variavel que contera a mensagem
frase_descriptografada+=chr(nova_letra)
else:
# em caso de ‘espaco’ nao havera alteracao do caracter
frase_descriptografada+=i

# Imprime as frases criptografada e descriptografada
print ‘FRASE CRIPTOGRAFADA:’
print frase_criptografada
print ‘\nFRASE DESCRIPTOGRAFADA:’
print frase_descriptografada