@Override
    public Checksum compute(final InputStream in, final TransferStatus status) throws BackgroundException {
        return new Checksum(HashAlgorithm.md5, this.digest("MD5",
                this.normalize(in, status), status));
    }
@Test
    public void testComputeEmptyString() throws Exception {
        assertEquals("d41d8cd98f00b204e9800998ecf8427e",
            new MD5FastChecksumCompute().compute(IOUtils.toInputStream("", Charset.defaultCharset()), new TransferStatus()).hash);
        assertEquals("d41d8cd98f00b204e9800998ecf8427e",
            new MD5FastChecksumCompute().compute(new NullInputStream(0L), new TransferStatus().withLength(0)).hash);
    }