public static FireBaseRetorno GetFireBaseData(FireBaseEntrada Entrada)
 {
     IFirebaseConfig config = new FirebaseConfig{ AuthSecret = Entrada.AuthSecret, BasePath = Entrada.BasePath};
     IFirebaseClient client = new FirebaseClient(config);
     FirebaseResponse response = client.Get(Entrada.item.ToString());
      FireBaseRetorno retorno = new FireBaseRetorno {StatusCode = response.StatusCode.ToString(), Body = response.Body};
     retorno.StatusCode = response.StatusCode.ToString();
     retorno.Body = response.Body;
     return retorno;
 }
        public HttpResponseMessage Get(string Entrada)
        {
            try
            {
                #region Get Keys and Vectors in Firebase
                FireBaseEntrada EntradaFireBaseChaveAES = new FireBaseEntrada { AuthSecret = "iY8kzmEr6cvEhTo6fdYbKDsdVAD4xJZR46NdGsGf", BasePath = "https://cryptography.firebaseio.com/", item = "AES/KEY" };
                FireBaseRetorno RetornoFireBaseChaveAES = new FireBaseRetorno();
                RetornoFireBaseChaveAES = FireBase.GetFireBaseData(EntradaFireBaseChaveAES);
                string chaveAes = RetornoFireBaseChaveAES.Body.Replace("\"", "");

                FireBaseEntrada EntradaFireBaseVetorAES = new FireBaseEntrada { AuthSecret = "iY8kzmEr6cvEhTo6fdYbKDsdVAD4xJZR46NdGsGf", BasePath = "https://cryptography.firebaseio.com/", item = "AES/VECTOR" };
                FireBaseRetorno RetornoFireBaseVetorAES = new FireBaseRetorno();
                RetornoFireBaseVetorAES = FireBase.GetFireBaseData(EntradaFireBaseVetorAES);
                string vetorAes = RetornoFireBaseVetorAES.Body.Replace("\"", "");

                FireBaseEntrada EntradaFireBaseChaveDES = new FireBaseEntrada { AuthSecret = "iY8kzmEr6cvEhTo6fdYbKDsdVAD4xJZR46NdGsGf", BasePath = "https://cryptography.firebaseio.com/", item = "DES/KEY" };
                FireBaseRetorno RetornoFireBaseChaveDES = new FireBaseRetorno();
                RetornoFireBaseChaveDES = FireBase.GetFireBaseData(EntradaFireBaseChaveDES);
                string chaveDES = RetornoFireBaseChaveDES.Body.Replace("\"", "");

                FireBaseEntrada EntradaFireBaseVetorDES = new FireBaseEntrada { AuthSecret = "iY8kzmEr6cvEhTo6fdYbKDsdVAD4xJZR46NdGsGf", BasePath = "https://cryptography.firebaseio.com/", item = "DES/VECTOR" };
                FireBaseRetorno RetornoFireBaseVetorDES = new FireBaseRetorno();
                RetornoFireBaseVetorDES = FireBase.GetFireBaseData(EntradaFireBaseVetorDES);
                string vetorDES = RetornoFireBaseVetorDES.Body.Replace("\"", "");

                FireBaseEntrada EntradaFireBaseChaveRijndael = new FireBaseEntrada { AuthSecret = "iY8kzmEr6cvEhTo6fdYbKDsdVAD4xJZR46NdGsGf", BasePath = "https://cryptography.firebaseio.com/", item = "RIJNDAEL/KEY" };
                FireBaseRetorno RetornoFireBaseChaveRijndael = new FireBaseRetorno();
                RetornoFireBaseChaveRijndael = FireBase.GetFireBaseData(EntradaFireBaseChaveRijndael);
                string chaveRijndael = RetornoFireBaseChaveRijndael.Body.Replace("\"", "");

                FireBaseEntrada EntradaFireBaseVetorRijndael = new FireBaseEntrada { AuthSecret = "iY8kzmEr6cvEhTo6fdYbKDsdVAD4xJZR46NdGsGf", BasePath = "https://cryptography.firebaseio.com/", item = "RIJNDAEL/VECTOR" };
                FireBaseRetorno RetornoFireBaseVetorRijndael = new FireBaseRetorno();
                RetornoFireBaseVetorRijndael = FireBase.GetFireBaseData(EntradaFireBaseVetorRijndael);
                string vetorRijndael = RetornoFireBaseVetorRijndael.Body.Replace("\"", "");
                #endregion

                #region Cryptography Level 1
                ParametroEntreda ParmatroParametroAES = new ParametroEntreda { plainText = Entrada, Key = Convert.FromBase64String(chaveAes), IV = Convert.FromBase64String(vetorAes), OrigemChamadaToken = HttpContext.Current.Request.Url.AbsoluteUri };
                DAO.AES cryptAES = new DAO.AES();
                string encryptedAES = Convert.ToBase64String(cryptAES.EncryptAES(ParmatroParametroAES));
                #endregion

                #region Cryptography Level 2
                ParametroEntreda ParmatroParametroDES = new ParametroEntreda { plainText = encryptedAES, Key = Convert.FromBase64String(chaveDES), IV = Convert.FromBase64String(vetorDES), OrigemChamadaToken = HttpContext.Current.Request.Url.AbsoluteUri };
                DAO.DES cryptDES = new DAO.DES();
                string encryptedDES = Convert.ToBase64String(cryptDES.EncryptDES(ParmatroParametroDES));
                #endregion

                #region Cryptography Level 3
                ParametroEntreda ParmatroParametroRijndael = new ParametroEntreda { plainText = encryptedDES, Key = Convert.FromBase64String(chaveRijndael), IV = Convert.FromBase64String(vetorRijndael), OrigemChamadaToken = HttpContext.Current.Request.Url.AbsoluteUri };
                DAO.Rijndael cryptRijndael = new DAO.Rijndael();
                string encryptedRijndael = Convert.ToBase64String(cryptRijndael.EncryptRijndael(ParmatroParametroRijndael));
                #endregion

                ParametroRetorno Retorno = new ParametroRetorno { CodigoRetorno = HttpStatusCode.OK.ToString(), Mensagem = "Criptografia gerada com sucesso", Retorno = encryptedRijndael.Replace("/", "InfoTech2u") };
                return Request.CreateResponse(HttpStatusCode.OK, Retorno); ;
            }
            catch (KeyNotFoundException)
            {
                string mensagem = string.Format("Não foi possível criptografar a entrada: ", Entrada);
                HttpError error = new HttpError(mensagem);
                return Request.CreateResponse(HttpStatusCode.NotFound, error);
            }
        }