Beispiel #1
0
class Test_Enigma(unittest.TestCase):
    def setUp(self):
        self.enigma = Enigma(Plugboard('VZBRGITYUPSDNHLXAWMJQOFECK'),
                             Reflector('JPGVOUMFYQBENHZRDKASXLICTW'),
                             Settings("ABC"))
        self.enigma2 = Enigma(Plugboard('VZBRGITYUPSDNHLXAWMJQOFECK'),
                              Reflector('JPGVOUMFYQBENHZRDKASXLICTW'),
                              Settings("WGF"))

    def test_encode_and_decode(self):
        self.enigma.set_machine("FSOKANUERHMBTIYCWLQPZXVGJD",
                                "LEYJVCNIXWPBQMDRTAKZGFUHOS",
                                "NZJHGRCXMYSWBOUFAIVLPEKQDT")
        self.enigma2.set_machine("FSOKANUERHMBTIYCWLQPZXVGJD",
                                 "LEYJVCNIXWPBQMDRTAKZGFUHOS",
                                 "NZJHGRCXMYSWBOUFAIVLPEKQDT")
        self.enigma.encode(["A"])
        self.enigma2.encode(["A"])
        self.assertEqual(self.enigma.encode_text, [21])
        self.assertNotEqual(self.enigma2.encode_text, [21])
        self.assertNotEqual(self.enigma.decode(), self.enigma2.decode())
        self.assertEqual(self.enigma.decode(), ["S"])
Beispiel #2
0
    characteristic2 = input()
    Rotor(characteristic2).check_len_alphabet()
    Rotor(characteristic2).repeat_alphabet()
    print("Provide your third Rotor set.")
    characteristic3 = input()
    Rotor(characteristic3).check_len_alphabet()
    Rotor(characteristic3).repeat_alphabet()
    print("Provide your Reflector set.")
    reflect = input()
    Reflector(reflect).check_len_alphabet()
    Reflector(reflect).repeat_alphabet()
elif a.upper() == "NO":
    connect = "WNYPVJXTOAMQIZKSRFUHGCEDBL"
    characteristic1 = "UXBLHWTMCQGZNPYFVOEAJDKSIR"
    characteristic2 = "TOWYHXUSPAIBRCJEKMFLGDQVZN"
    characteristic3 = "LCPRTXVZNYEIWGAKMUSQOBDFHJ"
    reflect = "YRUHQSLDPXNGOKMIEBFZCWVJAT"
plugboard = Plugboard(connect)
reflektor = Reflector(reflect)
enigma = Enigma(plugboard, reflektor, settings)
effect = []
for i in user.text:
    if i == " ":
        effect.append(i)
    else:
        enigma.set_machine(characteristic1, characteristic2, characteristic3)
        enigma.encode(i)
        effect = effect + enigma.decode()

print("Your encode text is: {}".format("".join(effect)))