Settings

Theme

Break my stupid hash function

3 points by quackduck 4 years ago · 3 comments · 1 min read


I made this crappy, most likely very insecure hash function with zero actual cryptographic hash knowledge while on a plane.

If you can find a collision or find the preimage of f11e7def9c2ec4c0, you'll officially have broken it.

Link: https://gist.github.com/quackduck/0da5d2ed7807e3ef22dc2e0cdadbf90a

gus_massa 4 years ago

With

    300000002a00000041e00000
I get

    e078387cb36ec4c0
your hash is

    f11e7def9c2ec4c0
so I reversed 5 chars.

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.

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.

developedbytoby 4 years ago

incredible.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection