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)); }
/// <summary> /// Encripta una cadena de caracteres.- /// </summary> /// <param name="val">Cadena a encriptar</param> /// <returns>Cadena encriptada</returns> public string Encrypt(string val) { CreateSymmetricAlgorithmProvider(); byte[] decryptedBin = Encoding.UTF8.GetBytes(val); try { return(Convert.ToBase64String(_SymmetricAlgorithmProvider.Encrypt(decryptedBin))); } catch (CryptographicException e) { TechnicalException te = new TechnicalException("Clave de encriptacion no es la correcta "); ExceptionHelper.SetTechnicalException <SymetriCypher <T> >(te); te.ErrorId = "4402"; throw te; } }
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) { } }
public static string Encriptar(string texto, out Object keysimetric) { string result = ""; try { ProtectedKey key = KeyManager.GenerateSymmetricKey("System.Security.Cryptography.TripleDESCryptoServiceProvider", DataProtectionScope.LocalMachine); SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(typeof(TripleDESCryptoServiceProvider), key); result = Convert.ToBase64String(provider.Encrypt(UnicodeEncoding.Unicode.GetBytes(texto.ToCharArray(), 0, texto.Length))); keysimetric = key; //string decryptedData = UnicodeEncoding.Unicode.GetString(provider.Decrypt(Convert.FromBase64String(result))); //var crypto = EnterpriseLibraryContainer.Current.GetInstance<CryptographyManager>(); //result = crypto.EncryptSymmetric(GetSymmProvider(), texto); } catch (Exception ex) { throw ex; } return(result); }
public void EncryptZeroBytes() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); provider.Encrypt(new byte[0]); }
public void EncryptNullBytes() { SymmetricAlgorithmProvider provider = new SymmetricAlgorithmProvider(key); provider.Encrypt(null); }