This is much of the plumbing for the object database to support SHA256, and for objects to be able to parse SHA256 versions of themselves.