示例#1
0
        public ActionResult Edit(EncriptarModel encriptarModel)
        {
            ExercicioCrpito.Models.EncriptarModel encriptar = db.encriptars.Find(encriptarModel.id);
            encriptarModel.Texto = encriptar.Texto;


            db.Entry(encriptar).State = EntityState.Detached;

            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 = Encoding.Unicode.GetBytes(encriptarModel.Texto);

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

                //Converte byte array para string de base 64
                encriptarModel.Texto = Convert.ToBase64String(dest);
            }


            db.Entry(encriptarModel).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#2
0
        public ActionResult Create(EncriptarModel encriptarModel)
        {
            if (ModelState.IsValid)
            {
                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 = Encoding.Unicode.GetBytes(encriptarModel.Texto);

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

                    //Converte byte array para string de base 64
                    encriptarModel.Texto = Convert.ToBase64String(dest);
                }
                db.encriptars.Add(encriptarModel);
                db.SaveChanges();
                return(RedirectToAction(nameof(Index)));
            }
            return(View(encriptarModel));
        }
示例#3
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest));
            }
            EncriptarModel encriptarModel = db.encriptar.Find(id);

            if (encriptarModel == null)
            {
                return(HttpNotFound());
            }

            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;

            //Converter string para um byte array 64bits
            byte[] src = Convert.FromBase64String(encriptarModel.Mensagem);

            //Decripitar
            using (ICryptoTransform decrypt = aes.CreateDecryptor())
            {
                byte[] dest = decrypt.TransformFinalBlock(src, 0, src.Length);
                encriptarModel.Mensagem = Encoding.Unicode.GetString(dest);
            }

            return(View(encriptarModel));
        }