I\'m looking for a solution to generate a checksum for any type of Java object, which remains the same for every execution of an application that produces the same object.>
Example
private BigInteger checksum(Object obj) throws IOException, NoSuchAlgorithmException {
if (obj == null) {
return BigInteger.ZERO;
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
oos.close();
MessageDigest m = MessageDigest.getInstance("SHA1");
m.update(baos.toByteArray());
return new BigInteger(1, m.digest());
}