Ejemplo n.º 1
0
    def testWriteObjectToFileAsJosn(self):
        obj=[1,2,3]
        testFile="testWriteTofile.txt"
        Util.writeObjectToFileAsJson(obj,testFile)

        res=Util.readJsonFileIntoObject(testFile)
        self.assertEqual(obj,res)
Ejemplo n.º 2
0
def encryptTextAsBin(writeToFile=False):
    CharIndexMap.rangeTypeisCharacterBased=False

    start_time = time.time()
    seed=None

    baseMachineModelName=EnigmaConfigGenerator(seed).createRandomModelName()
    baseMachineCfg=EnigmaConfigGenerator(seed).createMachineConfig(baseMachineModelName)
    if writeToFile:
        Util.writeObjectToFileAsJson(baseMachineCfg,"./state/baseMcCfg.json")

    baseMachine=EnigmaDynamicFactory(seed).createEnigmaMachineFromConfig(baseMachineCfg)
    baseMcStg=MachineSettingManager(seed).generateRandomSettingsForMachine(baseMachine)

    if writeToFile:
        Util.writeObjectToFileAsJson(baseMcStg.getAsMap(),"./state/baseMcStg.json")

    baseMachine.adjustMachineSettings(baseMcStg)

    levelMachineModelName=EnigmaConfigGenerator(seed).createRandomModelName()
    levelMcCfg=EnigmaConfigGenerator(seed).createMachineConfig(levelMachineModelName)
    if writeToFile:
        Util.writeObjectToFileAsJson(levelMcCfg,"./state/levelMcCfg.json")
    levelMachine=EnigmaDynamicFactory(seed).createEnigmaMachineFromConfig(levelMcCfg)
    levelMcStg=MachineSettingManager(seed).generateRandomSettingsForMachine(levelMachine)
    if writeToFile:
        Util.writeObjectToFileAsJson(levelMcStg.getAsMap(),"./state/levelMcStg.json")
    levelMachine.adjustMachineSettings(levelMcStg)

    level=Level(baseMcStg,levelMcStg,seed)


    if writeToFile:
        Util.writeObjectToFileAsJson(level.getAsMap(),"./state/level.json")


    elapsed_time = time.time() - start_time
    # print("2 MAchines were created in :"+str(elapsed_time))

    msg="Hello Enigma !"
    msgSeq=Util.encodeStringIntoByteList(msg)
    level.inputMsg=msgSeq


    start_time = time.time()
    levelEncryptor=LevelEncryptor(baseMachine,levelMachine,level,seed)
    encLevel=levelEncryptor.encryptLevel()
    elapsed_time = time.time() - start_time
    # print("Encrypted Seq in : "+str(elapsed_time))
    print("ENC:")
    print(Util.convertByteListIntoHexString(encLevel.outputMsg))

    encLevel.inputMsg=""

    start_time = time.time()
    levelDecryptor=LevelDecryptor(baseMachine,levelMachine,level)
    levelDecryptor.level=encLevel
    resultLevel=levelDecryptor.decryptLevel()
    elapsed_time = time.time() - start_time
    # print("Decrypted Sequence in :"+str(elapsed_time))
    # print("DEC:")
    # print(resultLevel.inputMsg)
    # print(Util.decodeByteListIntoString(resultLevel.inputMsg))

    # print("DONE !!")
    return resultLevel.inputMsg