Not sure about building a mandatory reset in here, what if the caller wanted both the byte-array and string checksums? Or, if they wanted intermediate checksums so that in a long stream they can still tell that the prefix isn't corrupted even if the final checksum is wrong? (Not an objection -- I don't think we anticipate either use case -- so much as just thinking out loud.)