...It produces variable length hash from a message block of the size you want. The resulting hash will be ~2x the message block in size, and should provide for at least as many bits of security as the block itself.
I updated this, with a different hash than original, since I found a potential collision on some blocks, not but specific to that challenge. To further correct this, I modified the padding when it's less than the block size.
I hold no guarantee of the security of this algorithm, USE AT YOUR OWN RISK. ...