using CyanogenMod's (GPL) md5 code