/// <param name="cipherMode">The cipher mode.</param>
 /// <param name="paddingMode">Padding algorithm to use</param>
 public BlowfishEncryptor(
     BlowfishCipherMode cipherMode,
     PaddingMode paddingMode = DefaultPaddingMode
     ) : this(cipherMode, paddingMode, FastRandom.StaticInstance,
              SafeOrbitCore.Current.Factory.Get <IPadderFactory>())
 {
 }
 /// <exception cref="UnexpectedEnumValueException{TEnum}">
 ///     <paramref name="cipherMode" /> is not defined in
 ///     <see cref="BlowfishCipherMode" />.
 /// </exception>
 /// <exception cref="ArgumentNullException"><paramref name="random" /> is <see langword="null" /></exception>
 internal BlowfishEncryptor(BlowfishCipherMode cipherMode, PaddingMode paddingMode, ICryptoRandom random,
                            IPadderFactory padderFactory) : base(random, paddingMode, padderFactory)
 {
     if ((int)cipherMode != 0 && (int)cipherMode != 1)
     {
         throw new UnexpectedEnumValueException <BlowfishCipherMode>(cipherMode);
     }
     CipherMode = cipherMode;
 }