就是在输入、输出的同时用MD5,SHA1等摘要算法计算消息摘要,比如:读如文件的同时计算消息摘要
  MessageDigest md=MessageDigest.getInstance("MD5");
  FileInputStream fin=new FileInputStream("test.txt");
  DigestInputStream in=new DigestInputStream(fin,md);
  /**
   *读入数据
   */
   //计算摘要
   md=in.getMessageDigest();
   byte[] digest=md.digest();
其实,DigestInputStream 、 DigestOutputStream就是每从下层流中读入或写入数据时调用 MessageDigest的update()方法。