public CryptographyService(ICryptographicEngine cryptographicEngine,
                            ISymmetricKeyAlgorithmProviderFactory symmetricKeyAlgorithmProviderFactory,
                            IHashAlgorithmProviderFactory hashAlgorithmProviderFactory,
                            ILogger logger)
 {
     _cryptographicEngine = cryptographicEngine;
     _symmetricKeyAlgorithmProviderFactory = symmetricKeyAlgorithmProviderFactory;
     _hashAlgorithmProviderFactory         = hashAlgorithmProviderFactory;
     _logger = logger;
 }
Esempio n. 2
0
        /// <summary>Returns a crypto key management for a specified algorithm.</summary>
        /// <param name="factory">The factory.</param>
        /// <param name="algorithm">The algorithm.</param>
        /// <returns>An instance of <see cref="ISymmetricKeyAlgorithmProvider"/>.</returns>
        public static ISymmetricKeyAlgorithmProvider OpenAlgorithm(this ISymmetricKeyAlgorithmProviderFactory factory, SymmetricAlgorithm algorithm)
        {
            Requires.NotNull(factory, nameof(factory));

            return(factory.OpenAlgorithm(algorithm.GetName(), algorithm.GetMode(), algorithm.GetPadding()));
        }