Finalizes the computation of the hash and returns the computed value. Note that finish can be called only once and that no subsequent calls to put is allowed.
Adds data to the digester. This function can be called many times in a row after start but before finish.
See Implementation