/// <summary> /// Decodes and decrypts the specified cipher text. /// </summary> /// <param name="encodedCipherText">The encoded cipher text.</param> /// <returns></returns> public string DecodeAndDecrypt(string encodedCipherText) { if (string.IsNullOrEmpty(encodedCipherText)) { return(encodedCipherText); } int version; byte[] iv; byte[] cipherText; if (!TryDecodeEncodedCipherText(encodedCipherText, out version, out iv, out cipherText)) { return(null); } CryptoSettings settings = CryptoSettings.GetSettings(version); ICryptoProvider cryptoProvider = settings.CryptoProvider; return(cryptoProvider.DecryptData(cipherText, Initialise(), iv)); }