/// <summary> /// Decifra o texto do arquivo JSON e atualiza o mesmo com o texto decifrado /// </summary> private static void DecifrarTextoJson() { var requisicaoJson = JsonConvert.DeserializeObject <RequisicaoJson>(File.ReadAllText(pathJson)); AlfabetoService alfabetoService = new AlfabetoService(); JulioCesarCriptografia jcCriptografia = new JulioCesarCriptografia(alfabetoService, requisicaoJson.numero_casas); CriptografiaController criptografiaController = new CriptografiaController(jcCriptografia); ObjetoCriptografia obj = new ObjetoCriptografia { Fator = requisicaoJson.numero_casas, Texto = requisicaoJson.cifrado, Operacao = EOperacao.DESCRIPTOGRAFAR }; var criptoResultado = criptografiaController.Descriptografar(obj); requisicaoJson.decifrado = criptoResultado.Resultado; requisicaoJson.resumo_criptografico = criptoResultado.Hash; requisicaoJson.token = _token; AtualizarArquivoJson(JsonConvert.SerializeObject(requisicaoJson, Formatting.Indented)); Console.WriteLine("***** RESULTADO *****"); Console.WriteLine($"Texto cifrado: {requisicaoJson.cifrado}"); Console.WriteLine($"Texto decifrado: {requisicaoJson.decifrado}"); Console.WriteLine($"Fator de substituição: {requisicaoJson.numero_casas}"); Console.WriteLine("\n\nPressione qualquer tecla para continuar"); Console.ReadLine(); }
public static bool ValidarOperacao(ObjetoCriptografia objCriptografia, EOperacao operacao) { if (objCriptografia.Operacao != operacao) { objCriptografia.statusOperacao = EStatusOperacao.ERRO; objCriptografia.Resultado = "Operação informada é inválida"; return(false); } return(true); }
public static bool ValidarTexto(ObjetoCriptografia objCriptografia, EOperacao operacao) { if (string.IsNullOrWhiteSpace(objCriptografia.Texto)) { objCriptografia.statusOperacao = EStatusOperacao.ERRO; objCriptografia.Resultado = "Não foi informado o texto para a operação solicitada"; return(false); } return(true); }
public static bool ValidarProcessamento(ObjetoCriptografia objCriptografia, EOperacao operacao, string resultado) { if (string.IsNullOrWhiteSpace(resultado)) { objCriptografia.statusOperacao = EStatusOperacao.ERRO; objCriptografia.Resultado = $"Erro ao {CultureInfo.CurrentCulture.TextInfo.ToTitleCase(operacao.ToString().ToLower())} a mensagem"; return(false); } return(true); }
public void Descriptografar_DeveTratarRequisicaoComTextoVazio() { //Arranje controller = new CriptografiaController(criptografiaMock.Object); var obj = new ObjetoCriptografia() { Operacao = EOperacao.DESCRIPTOGRAFAR }; //Act var result = controller.Descriptografar(obj); //Assert Assert.Equal(EStatusOperacao.ERRO, result.statusOperacao); }
public void Descriptografar_DeveTratarRequisicaoComErroAoProcessar() { //Arranje criptografiaMock.Setup(c => c.Criptografar(textoCriptografia)).Returns(""); controller = new CriptografiaController(criptografiaMock.Object); var obj = new ObjetoCriptografia() { Operacao = EOperacao.DESCRIPTOGRAFAR, Texto = textoCriptografia }; //Act var result = controller.Descriptografar(obj); //Assert Assert.Equal(EStatusOperacao.ERRO, result.statusOperacao); }
public ObjetoCriptografia Descriptografar(ObjetoCriptografia objCriptografia) { if (!ValidarObjetoCriptografiaService.ValidarOperacao(objCriptografia, EOperacao.DESCRIPTOGRAFAR) || !ValidarObjetoCriptografiaService.ValidarTexto(objCriptografia, EOperacao.DESCRIPTOGRAFAR)) { return(objCriptografia); } var resultado = criptografia.Descriptografar(objCriptografia.Texto); if (!ValidarObjetoCriptografiaService.ValidarProcessamento(objCriptografia, EOperacao.DESCRIPTOGRAFAR, resultado)) { return(objCriptografia); } objCriptografia.statusOperacao = EStatusOperacao.PROCESSADO; objCriptografia.Hash = HashService.GetHashSha1(resultado); objCriptografia.Resultado = resultado; return(objCriptografia); }