Type in a string and how long you would like(in seconds) it to hash that string. In conjunction with my AES encryption project, you can hash a string, and wait for the project to hash your string in the time specified. You encrypt your information with that hash, and give everybody the string you hashed. Then, to decrypt that information, it will take the same amount of time to hash the string you gave them, and then they can decrypt it. This is an example of a time-delay encryption. For example, you could hash a string for five minutes, then give someone the unhashed string and the encrypted data. They have to wait five minutes before they can get their hands on your data. And because the next hash depends on the old one, you cannot run this in parallel, causing them to wait until you want them to have your data.
I simply used binary logic of xor one-way compression to get a binary sequence that was shorter than the original.