/// <summary> /// Encrypts and encodes the specified data. /// </summary> /// <param name="plainText">The plain text.</param> /// <returns></returns> public string EncryptAndEncode(string plainText) { if (string.IsNullOrEmpty(plainText)) { return(plainText); } CryptoSettings settings = CryptoSettings.GetSettings(); ICryptoProvider cryptoProvider = settings.CryptoProvider; byte[] iv = cryptoProvider.GenerateRandomIv(); byte[] cipherText = cryptoProvider.EncryptData(plainText, Initialise(), iv); return(EncodeCipherText(settings.Version, iv, cipherText)); }