1. A computer-implemented method for authenticating a request to access a resource, comprising: in response to receiving a request for access to a resource from a user, determining a base adjustment factor associated with the user, the base adjustment factor determined at least in part as a function of a saved password associated with the user and the requested resource, and wherein the base adjustment factor is indicative of a base complexity of a proof-of-work challenge for accessing the resource; sending to the user the proof-of-work challenge, the proof-of-work challenge generated based on the base adjustment factor; receiving from the user a solution to the proof-of-work challenge and an entered password, the solution determined at least in part by adjusting a complexity of the proof-of-work challenge based on a risk factor that is indicative of a risk associated with the entered password; and authenticating the request when the solution received is determined to be correct based at least in part on the proof-of-work challenge and the entered password.