public static SymmetricEncryptionResult Encrypt(this CryptoSettings cryptoProvider, byte[] data, SymmetricEncryptionVariables encryptionVariables = null)
{
Requires.NotNull(data, "data");
encryptionVariables = ThisOrNewEncryptionVariables(cryptoProvider, encryptionVariables);
var symmetricKey = CryptoSettings.SymmetricAlgorithm.CreateSymmetricKey(encryptionVariables.Key);
var cipherTextBuffer = WinRTCrypto.CryptographicEngine.Encrypt(symmetricKey, data, encryptionVariables.IV);
return new SymmetricEncryptionResult(encryptionVariables, cipherTextBuffer);
}