Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- """ FAZER CIFRA DE CÉSAR COM MULTIPROCESSING
- Verificador False == ñ cifrado
- Verificador True == cifrado"""
- import sys, multiprocessing as mp
- def criptografar(q):
- rot, msg, verificador = q.get(), q.get(), q.get()
- chars = ""
- nums = []
- if len(msg) >= 1:
- print "Criptografando..."
- if verificador == False:
- for char in msg:
- num = ord(char)+rot
- nums.append(num)
- else:
- for num in nums:
- char = chr(num)
- chars += char
- else:
- print "A mensagem é: %s" % (chars)
- def descriptografar(q):
- rot, msg, verificador = q.get(), q.get(), q.get()
- chars = ""
- nums = []
- if len(msg) >= 1:
- print "Descriptografando..."
- if verificador == True:
- for char in msg:
- num = ord(char)-rot
- nums.append(num)
- else:
- for num in nums:
- char = chr(num)
- chars += char
- else:
- print "A mensagem é: %s" % (chars)
- def menu():
- print "\t\t\t[1] - Criptografar\n\t\t\t[2] - Descriptografar\n\t\t\t[3] - Sair\n\t\t\tDigite um número: "
- def main(q):
- try:
- while True:
- menu()
- escolha_menu = int(raw_input('\t\t\t\t\t'))
- if escolha_menu == 1:
- texto_puro = raw_input("Digite um(a) texto/frase qualquer: ")
- rot = int(raw_input("Digite a rotação: "))
- if rot >= 26:
- print "Tem que ser menos de 26"
- else:
- if len(texto_puro) >= 1:
- queue.put(rot)
- queue.put(texto_puro)
- queue.put(False)
- p = mp.Process(target=criptografar, args=(queue,))
- p.daemon = True
- p.start()
- p.join()
- elif escolha_menu == 2:
- texto_cifrado = raw_input("Digite um(a) texto/frase cifrado(a): ")
- rot = int(raw_input("Digite a rotação: "))
- if rot >= 26:
- print "Tem que ser menos de 26"
- else:
- if len(texto_cifrado) >= 1:
- queue.put(rot)
- queue.put(texto_cifrado)
- queue.put(True)
- p = mp.Process(target=descriptografar, args=(queue,))
- p.daemon = True
- p.start()
- p.join()
- else:
- print "Parece que o senhor quer sair...\nCumpriremos isto!"
- sys.exit(0)
- except KeyboardInterrupt:
- print "Saindo...\n"
- sys.exit(0)
- except e:
- print "exception: ", e
- sys.exit(0)
- if __name__ == '__main__':
- queue = mp.Queue()
- main(queue)
Advertisement
Add Comment
Please, Sign In to add comment