Ejemplo n.º 1
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TextoModel textoModel = db.Textos.Find(id);

            if (textoModel == null)
            {
                return(HttpNotFound());
            }
            string msgEnc = textoModel.Mensagem;
            AesCryptoServiceProvider aes = new AesCryptoServiceProvider();

            aes.BlockSize = 128;
            aes.KeySize   = 256;
            aes.IV        = Encoding.UTF8.GetBytes(AesIV256BD);
            aes.Key       = Encoding.UTF8.GetBytes(AesKey256BD);
            aes.Mode      = CipherMode.CBC;
            aes.Padding   = PaddingMode.PKCS7;

            byte[] src = Convert.FromBase64String(textoModel.Mensagem);
            using (ICryptoTransform decrypt = aes.CreateDecryptor())
            {
                byte[] dest = decrypt.TransformFinalBlock(src, 0, src.Length);
                textoModel.Mensagem = Encoding.Unicode.GetString(dest);
            }
            string msgDec = textoModel.Mensagem;

            TempData["msgEnc"] = msgEnc;
            TempData["msgDec"] = msgDec;

            return(View());
        }
Ejemplo n.º 2
0
        public ActionResult Create(TextoModel textoModel)
        {
            if (ModelState.IsValid)
            {
                string msgDecript = textoModel.Mensagem;


                //AesCryptoServiceProvider
                AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
                aes.BlockSize = 128;
                aes.KeySize   = 256;
                aes.IV        = Encoding.UTF8.GetBytes(AesIV256BD);
                aes.Key       = Encoding.UTF8.GetBytes(AesKey256BD);
                aes.Mode      = CipherMode.CBC;
                aes.Padding   = PaddingMode.PKCS7;

                // Convertendo String para byte Arrey
                byte[] src = Encoding.Unicode.GetBytes(textoModel.Mensagem);

                //Encriptação
                using (ICryptoTransform encrypt = aes.CreateEncryptor())
                {
                    byte[] dest = encrypt.TransformFinalBlock(src, 0, src.Length);

                    textoModel.Mensagem = Convert.ToBase64String(dest);
                }
                string msgEncript = textoModel.Mensagem;
                db.Textos.Add(textoModel);
                db.SaveChanges();

                return(RedirectToAction(nameof(Create), new { msgEncript = msgEncript, @msgDecript = msgDecript }));
            }
            return(RedirectToAction(nameof(Create)));
        }