/// <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; }
private static IFastEncryptor GetSut( BlowfishCipherMode?cipherMode = null, ICryptoRandom random = null, PaddingMode paddingMode = PaddingMode.PKCS7, IPadder padder = null) { IPadderFactory factory = null; if (padder != null) { var factoryMock = new Mock <IPadderFactory>(); factoryMock.Setup(p => p.GetPadder(paddingMode)) .Returns(padder); factory = factoryMock.Object; } return(new BlowfishEncryptor(cipherMode ?? BlowfishCipherMode.Cbc, paddingMode, random ?? Stubs.Get <IFastRandom>(), factory ?? Stubs.Get <IPadderFactory>())); }
/// <exception cref="ArgumentNullException"><paramref name="factory" /> is <see langword="null" /></exception> protected PaddedEncryptorBase(ICryptoRandom random, PaddingMode padding, IPadderFactory factory) : base(random) { _factory = factory ?? throw new ArgumentNullException(nameof(factory)); Padding = padding; }