public async Task<Account> ValidatePasswordAsync(string username, string password) { using (var sqlConnection = new MySqlConnection(_connectionString)) { sqlConnection.Open(); var accounts = await sqlConnection.QueryAsync<Account>("SELECT * FROM hm_accounts WHERE accountaddress = @accountaddress", new { accountaddress = username }); var account = accounts.SingleOrDefault(); if (account == null) return null; // TODO: Support old hashing methods. var salter = new Salter(); if (salter.ValidateHash(password, account.Password)) return account; return null; } }