Exemplo 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));
        }
Exemplo n.º 3
0
        /// <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)
            {
            }
        }
Exemplo n.º 5
0
        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);
        }