public void RijndaelManagedSymmetricEncryptionServiceEncryptDecryptTest()
        {
            var symmetricService = new RijndaelManagedSymmetricEncryptionService();
            var validKey = symmetricService.GenerateSymmetricKey(128);
            Assert.AreEqual(true, validKey.Success);

            var encryptionArgs = new SymmetricEncryptionArguments
            {
                BlockSize = 128,
                CipherMode = System.Security.Cryptography.CipherMode.CBC,
                KeySize = 256,
                PaddingMode = System.Security.Cryptography.PaddingMode.ISO10126,
                PlainText = "Text to be encoded",
                SymmetricPublicKey = validKey.SymmetricKey
            };

            var encryptionResult = symmetricService.Encrypt(encryptionArgs);
            Assert.AreEqual(true, encryptionResult.Success);

            var decryptionArgs = new SymmetricDecryptionArguments
            {
                BlockSize = encryptionArgs.BlockSize,
                CipherMode = encryptionArgs.CipherMode,
                CipherTextBase64Encoded = encryptionResult.CipherText,
                InitialisationVectorBase64Encoded = encryptionResult.InitialisationVector,
                KeySize = encryptionArgs.KeySize,
                PaddingMode = encryptionArgs.PaddingMode,
                SymmetricPublicKey = validKey.SymmetricKey
            };

            var decryptionResult = symmetricService.Decrypt(decryptionArgs);
            Assert.AreEqual(true, decryptionResult.Success);
        }
 public SymmetricEncryptionResult Encrypt(SymmetricEncryptionArguments arguments)
 {
     var res = new SymmetricEncryptionResult();
     try
     {
         var rijndael = CreateCipher(arguments);
         res.InitialisationVector = Convert.ToBase64String(rijndael.IV);
         ICryptoTransform cryptoTransform = rijndael.CreateEncryptor();
         byte[] plain = Encoding.UTF8.GetBytes(arguments.PlainText);
         byte[] cipherText = cryptoTransform.TransformFinalBlock(plain, 0, plain.Length);
         res.CipherText = Convert.ToBase64String(cipherText);
         res.Success = true;
     }
     catch (Exception ex)
     {
         res.ExceptionMessage = ex.Message;
     }
     return res;
 }
Esempio n. 3
0
        public SymmetricEncryptionResult Encrypt(SymmetricEncryptionArguments arguments)
        {
            var res = new SymmetricEncryptionResult();

            try
            {
                var rijndael = CreateCipher(arguments);
                res.InitialisationVector = Convert.ToBase64String(rijndael.IV);
                ICryptoTransform cryptoTransform = rijndael.CreateEncryptor();
                byte[]           plain           = Encoding.UTF8.GetBytes(arguments.PlainText);
                byte[]           cipherText      = cryptoTransform.TransformFinalBlock(plain, 0, plain.Length);
                res.CipherText = Convert.ToBase64String(cipherText);
                res.Success    = true;
            }
            catch (Exception ex)
            {
                res.ExceptionMessage = ex.Message;
            }
            return(res);
        }