After reading about why one-way hash functions are one-way, I would like to know how to design a hash function. Yes, I know that it's a bad idea to not use a proven and tested hash function, but I would still like to know how what matters in the design, and what the design process is like.
I'm familiar with Feistel-network ciphers but those are necessarily reversible, which is horrible for a cryptographic hash. Is there some sort of construction that is well-used in cryptographic hashing? Something that makes it one-way?