I made this crappy, most likely very insecure hash function with zero actual cryptographic hash knowledge while on a plane.<p>If you can find a collision or find the preimage of f11e7def9c2ec4c0, you'll officially have broken it.<p>Link: https://gist.github.com/quackduck/0da5d2ed7807e3ef22dc2e0cdadbf90a
With<p><pre><code> 300000002a00000041e00000
</code></pre>
I get<p><pre><code> e078387cb36ec4c0
</code></pre>
your hash is<p><pre><code> f11e7def9c2ec4c0
</code></pre>
so I reversed 5 chars.<p>In line 39 it says "num*num" where num is the value of each 8 character block, so if I make each block a multiple of a power of 16, it will not modify the last character of the output. So I can discover each character one by one. I should be padding with \null instead of 0, but it somewhat works anyway.<p>Also, you use 0x428a2f98 as a magic constant, but you should use an odd numbers instead of an even one. If not, you lose the last bits. If you take a look at the output of your hash, the last character is always 0 or 8.