public void CanEncryptAndDecryptMessage() { byte[] encryptedData = provider.Encrypt(plaintext); byte[] decryptedData = provider.Decrypt(encryptedData); AssertHelpers.AssertArraysEqual(plaintext, decryptedData); }
public void TripleDESEncryptAndDecrypt() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(TripleDESCryptoServiceProvider.Create(), key); byte[] plaintext = new byte[] { 5, 4, 3, 2 }; byte[] ciphertext = provider.Encrypt(plaintext); byte[] plaintext2 = provider.Decrypt(ciphertext); Assert.IsFalse(CommonUtil.CompareBytes(plaintext, ciphertext)); Assert.IsTrue(CommonUtil.CompareBytes(plaintext, plaintext2)); }
public void AESEncryptAndDecryptWithBadKey() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); byte[] plaintext = new byte[] { 5, 4, 6, 2 }; byte[] ciphertext = provider.Encrypt(plaintext); SymmetricAlgorithmProvider badProvider = new SymmetricAlgorithmProvider(new byte[] { 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }); try { byte[] plaintext2 = badProvider.Decrypt(ciphertext); Assert.IsFalse(CommonUtil.CompareBytes(plaintext, plaintext2)); } catch (CryptographicException) { } }
/// <summary> /// Desencripta una cadena de caracteres.- /// </summary> /// <param name="val">Cadena encriptada</param> /// <returns>Cadena desencriptada</returns> public string Dencrypt(string val) { CreateSymmetricAlgorithmProvider(); byte[] cryptedBin = Convert.FromBase64String(val); try { return(Encoding.UTF8.GetString(_SymmetricAlgorithmProvider.Decrypt(cryptedBin))); } catch (CryptographicException) { TechnicalException te = new TechnicalException("Clave de encriptacion no es la correcta "); ExceptionHelper.SetTechnicalException <SymetriCypher <T> >(te); te.ErrorId = "4402"; throw te; } catch (Exception e) { TechnicalException te = new TechnicalException("Error al intentar desencriptar", e); ExceptionHelper.SetTechnicalException <SymetriCypher <T> >(te); te.ErrorId = "4402"; throw te; } }
public static string Desencriptar(string textoEncriptado) { string result = ""; try { string ruta = AppDomain.CurrentDomain.BaseDirectory + "\\" + ConfigurationManager.AppSettings["EntLibSymmProvider"]; ProtectedKey key = (ProtectedKey) new ManejadorArchivos().LeerKey(ruta); SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(typeof(TripleDESCryptoServiceProvider), key); result = UnicodeEncoding.Unicode.GetString(provider.Decrypt(Convert.FromBase64String(textoEncriptado))); //ModifProtectedKeyFilename(); //var crypto = EnterpriseLibraryContainer.Current.GetInstance<CryptographyManager>(); //string clavesimetrica = GetSymmProvider(); //result = crypto.DecryptSymmetric(clavesimetrica, textoEncriptado); } catch (Exception ex) { throw ex; } return(result); }
public void DecryptZeroBytes() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); provider.Decrypt(new byte[0]); }
public void DecryptNullBytes() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); provider.Decrypt(null); }