Fixing deep issues with hashlib

Okay...real talk.  I know this is all kind of crap at the moment.  I've spent a solid amount of time convincing myself that this is a necessary evil; constant weird tweaking, no tests, a somewhat circuitous way of writing code, no tests, a total lack of any testing.  I know it's all very bad, too.

I'm not really making a point here, just kind of acknowledging that there is a problem and that I'm aware that there's a problem.  And maybe that's something.