using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Hazel.Crypto { public static class CryptoProvider { public delegate IAes CreateAesOverrideDelegate(ByteSpan key); /// /// Override the default AES creation function /// public static CreateAesOverrideDelegate OverrideCreateAes = null; /// /// Create a new AES cipher /// /// Encrtyption key public static IAes CreateAes(ByteSpan key) { if (OverrideCreateAes != null) { IAes result = OverrideCreateAes(key); if (null != result) { return result; } } return new DefaultAes(key); } } }