Ejemplo n.º 1
0
 def test_normaliza_tamanho_LIMAO(self):
     """
         Caso key seja maior que o texto função normaliza tamanho.
     """
     c = Cifra()
     self.assertEquals(
         c.match_size('ATACARBASESUL', 'LIMAO'), 'LIMAOLIMAOLIM')
Ejemplo n.º 2
0
 def test_GJRLZU_chave_UVA_MORREU(self):
     """
         O texto criptografado GJRLZU com chave UVA retorna MORREU
     """
     c = Cifra()
     self.assertEquals(c.crypt('GJRLZU', 'UVA', True).upper(), 'MORREU')
     self.assertEquals(c.decrypt('GJRLZU', 'UVA').upper(), 'MORREU')
Ejemplo n.º 3
0
 def test_ATACARBASESUL_chave_LIMAO_retorno_LBMCOCJMSSDCX(self):
     """
         A criptografia de ATACARBASESUL com a chave LIMAO deve
         ser LBMCOCJMSSDCX
     """
     c = Cifra()
     self.assertEquals(
         c.crypt('ATACARBASESUL', 'LIMAO').upper(), 'LBMCOCJMSSDCX')
Ejemplo n.º 4
0
 def test_normaliza_tamanho_LIMA(self):
     """
         A chave LIMA com um texto de 13 caracteres o retorno deve
         ser LIMALIMALIMAL
     """
     c = Cifra()
     self.assertEquals(
         c.match_size('ATACARBASESUL', 'LIMA'), 'LIMALIMALIMAL')
Ejemplo n.º 5
0
def dump_database():
    start_time = time.time()

    test_data = []
    for x in TEST_DATABASE:
        print(':', end='')
        if (x.__getitem__(0) != ""):
            try:
                cifra = Cifra(x.__getitem__(0))
                test_data.append((cifra, x.__getitem__(1)))
            except:
                print("Cifra com problemas: ", x.__getitem__(0))
                traceback.print_exc()

    file_pi = open("cifras.pickle", 'wb')
    pickle.dump(test_data, file_pi)
    file_pi.close()
    print("\nData dump: " + str(len(test_data)) + " songs in " +
          str((time.time() - start_time)) + " seconds")
Ejemplo n.º 6
0
 def test_alfabeto_A(self):
     """
         Testa alfabeto A
     """
     c = Cifra()
     self.assertEquals(str(c.grid['a']), 'abcdefghijklmnopqrstuvwxyz')
Ejemplo n.º 7
0
 def test_chave_maior_que_o_texto_base_retornar_exception(self):
     """
         Para chaves maiores que o texto sistema levanta uma exception.
     """
     c = Cifra()
     self.assertRaises(ValueError, c.crypt, 'a', 'bb')
Ejemplo n.º 8
0
 def test_retornar_None_para_o_que_nao_estiver_traduzido(self):
     """
         Para o que não estiver no grelha de Vigenère retorna None.
     """
     c = Cifra()
     self.assertEquals(c.translate(1, 'I'), "")
Ejemplo n.º 9
0
soup_songs_list = soupArtist.find(class_="list-links art_musics alf all")
soup_songs_links = soup_songs_list.find_all("a", class_="art_music-link")

links = []
for link in soup_songs_links:
    links.append(link.get('href'))

problematic_chords = set()
problematic_songs = []

total_chords = 0
parsed_chords = 0
for link in links:
    legivel = True
    try:
        cifra = Cifra("https://www.cifraclub.com.br" + link)
        for chord in cifra.present_chords:
            total_chords += 1
            try:
                ch = Chord(chord)
                print(chord, ": ", ch.components())
                parsed_chords += 1
            except:
                print("I see a ", chord, "chord on the title", link,
                      ", but I can't read it! :(")
                legivel = False
                problematic_chords.append(chord)
                problematic_songs.append(link)
    except:
        print("There are no chords here, pal.")
    if (not legivel):
Ejemplo n.º 10
0
 def test_letra_A_no_alfabeto_C_deve_retorno_C(self):
     """
         A letra A na grelha de vigenére deve retornar C no alfabeto C
     """
     c = Cifra()
     self.assertEquals(c.translate('A', 'C'), 'c')
Ejemplo n.º 11
0
 def test_letra_A_no_alfabeto_B_deve_retorno_B(self):
     """
         A letra A na grelha de vigenére deve retornar B no alfabeto B
     """
     c = Cifra()
     self.assertEquals(c.translate('A', 'B'), 'b')
Ejemplo n.º 12
0
 def test_letra_A_no_alfabeto_A_deve_retorno_A(self):
     """
         A letra A na grelha de vigenére deve retornar A no alfabeto A
     """
     c = Cifra()
     self.assertEquals(c.translate('A', 'A'), 'a')
Ejemplo n.º 13
0
 def test_alfabeto_C(self):
     """
         Testa alfabeto C
     """
     c = Cifra()
     self.assertEquals(str(c.grid['c']), 'cdefghijklmnopqrstuvwxyzab')
Ejemplo n.º 14
0
 def test_alfabeto_B(self):
     """
         Testa alfabeto B
     """
     c = Cifra()
     self.assertEquals(str(c.grid['b']), 'bcdefghijklmnopqrstuvwxyza')
Ejemplo n.º 15
0
# coding: utf-8
import argparse
from cifra import Cifra

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Cifra Vigenére")
    parser.add_argument("-k",
                        "--key",
                        help="Chave para criptografia.",
                        required=True,
                        type=str,
                        nargs=1)
    parser.add_argument("-c",
                        "--crypt",
                        help="Criptografar frase.",
                        type=str,
                        nargs=1)
    parser.add_argument("-d",
                        "--decrypt",
                        help="Descriptografar frase.",
                        type=str,
                        nargs=1)

    args = parser.parse_args()
    key = args.key
    action = "crypt" if args.crypt is not None else "decrypt"
    text = getattr(args, action)[0]

    c = Cifra()
    print getattr(c, action)(text, key).upper()
Ejemplo n.º 16
0
 def test_MORREU_chave_UVA_retorno_GJRLZU(self):
     """
         A criptografia de MORREU com a chave UVA deve ser GJRLZU
     """
     c = Cifra()
     self.assertEquals(c.crypt('MORREU', 'UVA').upper(), 'GJRLZU')
Ejemplo n.º 17
0
 def test_letra_Z_no_alfabeto_I_deve_retorno_H(self):
     """
         A letra Z na grelha de vigenére deve retornar H no alfabeto I
     """
     c = Cifra()
     self.assertEquals(c.translate('Z', 'I'), 'h')
Ejemplo n.º 18
0
			break

def converter_e_enviar(clienteSoc, conteudo):
	clienteSoc.send(bytearray(gerar_hash(conteudo), 'utf-8'))

def printar_comandos():
	custom_print("--------------------------------------------------------------------\n")
	custom_print("Lista de comandos: \n-QUIT = sair do chat\n-LIST = lista os usuários conectados\n-SEND mensagem TO usuario = Para enviar uma mensagem, substituindo os campos corretamente.\n-HELP = mostra novamente a lista de comandos")
	custom_print("--------------------------------------------------------------------\n")

def gerar_hash(msg):
    return hashlib.sha224(bytearray(msg, "utf-8")).hexdigest() + "HASH" + msg

if __name__ == '__main__':
	try:
		encripter = Cifra()
		clienteSoc = socket(AF_INET, SOCK_STREAM)
		clienteSoc.connect((host,porta))

		custom_print("---------------------------\n")
		custom_print("Bem vindo ao Terminal Chat!\n")
		custom_print("---------------------------\n")

		receber_resposta_servidor(clienteSoc, True)

		while True:
			nick = input( 'Informe o seu nome de usuario: \n')
			converter_e_enviar(clienteSoc, nick)
			msg = receber_resposta_servidor(clienteSoc, True)
			if "com sucesso" in msg: break