Raven.Bundles.Encryption.Codec.GetCryptoProvider C# (CSharp) Method

GetCryptoProvider() private method

private GetCryptoProvider ( byte iv ) : SymmetricAlgorithm
iv byte
return System.Security.Cryptography.SymmetricAlgorithm
		private SymmetricAlgorithm GetCryptoProvider(byte[] iv)
		{
			var result = EncryptionSettings.GenerateAlgorithm();
			encryptionStartingKeyAndIV = encryptionStartingKeyAndIV ?? GetStartingKeyAndIVForEncryption(result);

			if (iv != null && iv.Length != encryptionIVSize)
				throw new ArgumentException("GetCryptoProvider: IV has wrong length. Given length: " + iv.Length + ", expected length: " + encryptionIVSize);

			result.Key = encryptionStartingKeyAndIV.Item1;
			result.IV = iv ?? encryptionStartingKeyAndIV.Item2;
			return result;
		}