So I've heard that MD5 is broken because it's possible to engineer collisions. So instead we should use, say, SHA256. The problem which SHA256 digests is that they are long. So I've come up with this:
function mdsha( input ) { return md5( sha256( input ) ); }
So I can retain MD5 digest lengths and avoid malicious collisions.
Is my scheme sound?