A hash function is a one-way function, meaning that if you know only the output it is hard to recover the original input.
So every input has an ouput. If you can store in a database every couple (input, output) you can then search through output to recover the input. This is what is called reverse lookup database.
The goal of the project RMD5DB (Reverse MD5 DataBase) is to help to store as much plain text/ corresponding hash couple in a database in order to query for a particular hash and recover (one of) its possible plain text. The hash functions targeted are mainly md5 and sha1.
The project is available at the following address : Reverse Hash DataBase