public KvLoginProvider(IKVStore store, string namespacePrefix = "ULP:", IRandomCharacterGenerator characterGen = null, IHasher hasher = null, IStringVerifier usernameVerifier = null, IStringVerifier passwordVerifier = null) { _store = new KeyTransformKVStore(store, new PrefixTransformer(namespacePrefix)); _usernameVerifier = usernameVerifier ?? new NullStringVerifier(); _passwordVerifier = passwordVerifier ?? new NullStringVerifier(); _characterGen = characterGen ?? new SimpleRandomCharacterGenerator(); _hasher = hasher ?? new Md5HasherWithSalt(); }
public void Correctly_generates_random_code() { MockRepository mocks = new MockRepository(); IRandomCharacterGenerator characterGenerator = mocks.CreateMock <IRandomCharacterGenerator>(); using (mocks.Record()) { Expect.Call(characterGenerator.GetRandomCharacter()).Return('k'); Expect.Call(characterGenerator.GetRandomCharacter()).Return('w'); Expect.Call(characterGenerator.GetRandomCharacter()).Return('h'); } using (mocks.Playback()) { ICodeGenerator codeGenerator = new CodeGenerator(characterGenerator); string code = codeGenerator.GetRandomCode(3); Assert.That(code, Is.EqualTo("kwh")); } mocks.VerifyAll(); }
public CodeGenerator(IRandomCharacterGenerator characterGenerator) { _characterGenerator = characterGenerator; }
public HasherWithSalt(HashAlgorithm algorithm, IRandomCharacterGenerator saltGenerator = null) { _algo = algorithm; _generator = saltGenerator ?? new SimpleRandomCharacterGenerator(16); }
public Md5HasherWithSalt(IRandomCharacterGenerator saltGenerator = null) : base(MD5.Create(), saltGenerator) { }