long length = randomAccessFile.length() - header.getMp3StartByte();
if (new String(tag).equals("TAG")) {
length -= 128;
}
randomAccessFile.seek(header.getMp3StartByte());
InputStream is = new BoundedInputStream(new RandomAccessFileInputstream(randomAccessFile), length);
MessageDigest m = MessageDigest.getInstance("MD5");
byte[] buffer = new byte[8192];
int read;
while ((read = is.read(buffer)) > 0) {
m.update(buffer, 0, read);
}
randomAccessFile.close();
return new BigInteger(1, m.digest()).toString(16) + String.format("-%08x", length);
} catch (TagException e) {