Hi!
tl;dr
Base64 of MD5 of attached replay is z/YuRS3HGvvTkV395nSHKA==, but hash in filename is P#oKhiT76LLjAlTZVDi7a7. Is there more to the MD5 sum than just the raw replay file?
Long Version:
I'm working on a plugin that will be storing extra information on replays, and I was setting up to do it by replay hash, but I'm having difficulties getting the hash in the replay name to match the one in my code.
My first sanity check question would be whether there's already a way in the API to access the hash for a replay? I didn't see one, so I implemented my own based off the format of the filename hash.
I'm making the assumption that the hash listed in the filename is a Base64 encoding of the MD5 of the replay, with the trailing "=" removed and the "/" and "+" characters replaced to make the filename more friendly.
With the attached example replay, both my Java code and my command line MD5 give a checksum of cff62e452dc71afbd3915dfde6748728.
Converting this to Base64 gives z/YuRS3HGvvTkV395nSHKA==, but the filename hash is P#oKhiT76LLjAlTZVDi7a7.
Are there extra steps or data used in the calculation of the hash? Did I just make an incorrect assumption somewhere? Let me know if you need any more info/code/data, and I'd be happy to provide.
Thanks for the great work you're doing!
-Mark