def testWriteObjectToFileAsJosn(self): obj=[1,2,3] testFile="testWriteTofile.txt" Util.writeObjectToFileAsJson(obj,testFile) res=Util.readJsonFileIntoObject(testFile) self.assertEqual(obj,res)
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