Hash System Overview

A Hash represents what is generally known as a "checksum". There are roughly 10 widely-used checksumming algorithms widely used, and we will sooner or later need to implement most of them in HydraNode core. As such, we need some way of storing all kinds of checksums, of arbitary lengths, while keeping type-safety. Additionally, we want to store the checksums in lists of checksums, for example for files checksum sets per ranges.

In order to accomplish that, the following has been implemented: