/// <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();
        }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
 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);
        }
Esempio n. 7
0
        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);
        }