Esempio n. 1
0
        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)
            {
            }
        }
Esempio n. 4
0
 /// <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);
        }