- Define MD5, SHA1 and SHA256 algos
- Design typclass to handle type-specific hashing behavior
- hash digest generation
- printing to base32
- Differentiate between parts meant to be used outside (by hnix-store-*, hnix)
and parts meant to be used only internaly (in **.Internal.** modules)
- Observe that hashing "Hello World" @SHA1 and serializing to base32 gives
the same hash as the one in the thesis example
"s23c9fs0v32pf6bhmcph5rbqsyl5ak8a"
The test suite fails when run naively, due to the use of haskell code that
uses gc statistics, and requires `+RTS -T` flags be passed to the testsuite.
We opt in to this flag for CI and for any default.nix that packages
hnix-store-core.