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; }
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); }