author: Daniel Low
The instruction cues the association with hashes.
On inspecting the source we see that the next page is given by
Which suggests that we should compute the hash chain until it starts with d4e93d.
This can be done by writing a short program to compute the required hash
import md5 limit = 10000000 target = "d4e93d" m = md5.new() m.update("puzzlehunt2015") x = m.hexdigest() while (limit > 0 and x[:6] != target): m = md5.new() m.update(x + ".puzzlehunt2015") x = m.hexdigest() limit -= 1 print(x)
The program should produce the correct hash:
By going to
generate.php?id=d4e93d37cbcdf367d77c993b85abe792.puzzlehunt2015, we see that the solution