Change MD5 implementation (as the last one broke, probably due to GCC aliasing)