import java.io.FileInputStream; import java.io.ObjectInputStream; import java.security.MessageDigest; public class MainClass { public static void main(String args[]) throws Exception { FileInputStream fis = new FileInputStream("test"); ObjectInputStream ois = new ObjectInputStream(fis); Object o = ois.readObject(); if (!(o instanceof String)) { System.out.println("Unexpected data in file"); System.exit(-1); } String data = (String) o; System.out.println("Got message " + data); o = ois.readObject(); if (!(o instanceof byte[])) { System.out.println("Unexpected data in file"); System.exit(-1); } byte origDigest[] = (byte[]) o; byte pass[] = "aaa".getBytes(); byte buf[] = data.getBytes(); MessageDigest md = MessageDigest.getInstance("SHA"); md.update(pass); md.update(buf); byte digest1[] = md.digest(); md.update(pass); md.update(digest1); System.out.println(MessageDigest.isEqual(md.digest(), origDigest)); } }