MessageDigest digest = null;
MessageDigest digest;
    public static String computeChecksum(File file) throws SVNException {        if (file == null || !file.exists() || file.isDirectory()) {            return null;        }        MessageDigest digest = null;        try {            digest = MessageDigest.getInstance("MD5");        } catch (NoSuchAlgorithmException e) {            throw new SVNException(e.getMessage());        }        InputStream is = openFileForReading(file);        try {            while(true) {                int b = is.read();                if (b < 0) {                    break;                }                digest.update((byte) (b & 0xFF));            }        } catch (IOException e) {            SVNErrorManager.error(0, e);        } finally {            closeFile(is);        }        return toHexDigest(digest);    }