A little fun with Danish CPR (social security) numbers.
Apparently, some people believe that storing hashes of CPR numbers is a safe thing to do, since cryptographic hashes are irreversible. A little knowledge is a dangerous thing, as the saying goes.
This project demonstrates just how fast this can be bruteforced on consumer hardware, and also serves as a demonstration of some simple optimization tricks to make things go faster.
See overview for a more in-depth description.