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")); }
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)); }
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)); }