/// <summary> /// Logins the specified user name. /// </summary> /// <param name="password">The users password.</param> /// <returns></returns> public bool Login(string password) { bool result = false; MasterSecret masterSecret = _passwordRepository.GetMasterSecret(_cMasterSecretName); string hashedPassword = _securityService.HashData(password).Result; if (hashedPassword == masterSecret.Password) { result = true; } else { if (masterSecret.NumberOfAttemptsLeft > 0) { masterSecret.NumberOfAttemptsLeft -= masterSecret.NumberOfAttemptsLeft; } else { masterSecret.NumberOfAttemptsLeft = _cMaxNumberOfAttempts; } } return(result); }
public MasterSecret GetMasterSecret(string name) { MasterSecretOrm masterSecretOrm = dbHelper.GetMasterSecret(name); MasterSecret result = masterSecretOrm.Map <MasterSecretOrm, MasterSecret>(); return(result); }
public async Task <MasterSecret> SaveMasterSecret(MasterSecret masterSecret) { MasterSecretOrm masterSecretOrm = masterSecret.Map <MasterSecret, MasterSecretOrm>(); dbHelper.UpdateMasterSecret(masterSecretOrm); return(await Task.FromResult(masterSecret)); }
/// <summary> /// Set the master password. /// </summary> /// <param name="password">The master password.</param> public void SetMasterPassword(string password) { string hashedPassword = _securityService.HashData(password).Result; MasterSecret masterSecret = new MasterSecret() { Name = _cMasterSecretName, Password = hashedPassword, NumberOfAttemptsLeft = _cMaxNumberOfAttempts, LastAttempt = DateTime.Now, NumberOfAttemptsLeftBeforeLockout = _cMaxNumberOfAttemptsBeforeLockedOut }; _passwordRepository.SaveMasterSecret(masterSecret); }