Cleaning up my code serious time.  Md5s are now output correctly in a neat format, which should hopefully help with the debugging of the encryption/decryption shenanigans.