I'm trying to figure out the time needed to crack an HTTP digest auth. According to the RFC2069, the digest in calculated according to this scheme :

HA1 = MD5(username:realm:password)
HA2 = MD5(method:digestURI)
response = MD5(HA1:nonce:HA2)

Hashcat doesn't seem to support this hash type natively : https://hashcat.net/wiki/doku.php?id=example_hashes

11400 hash mode is available.

According to https://gist.github.com/Chick3nman/32e662a5bb63bc4f51b847bb422222fd, one RX4090 have a performance of 23031.2 MH/s. As there are 2^128 possibilities for just one md5, this should take approx 5^20 years.

Can I conclude HTTP digest safe to reveal the password ?

1 Answer 1


There are not, in practice, 2^128 possibilities; most human-memorable passphrases have 40 bits of entropy or less (fraction of a second to brute force) and at best might have 70 bits or so (more than a year to brute force if for some reason you used a single GPU). Dictionary attacks on MD5 are very cheap, even with the nonce acting as a salt.

Also, what's your threat model? There are a ton of problems with digest auth compared to just using plain text through a TLS (HTTPS) tunnel, such as needing to store the password only weakly hashed on the server too (rather than use a proper password hashing function). Plain HTTP is never going to be secure against an active man-in-the-middle attacker (who might replace a demand for digest auth with one for basic auth or with script that spoofs the auth window, then fulfill the server's request with the captured credentials), and once you're using HTTPS, there's no benefit in using digest auth.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .