import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.security.DigestInputStream;
import java.security.MessageDigest;/*** TODO 在此写上类的相关说明.<br>* @author gqltt<br>* @version 1.0.0 2021年11月29日<br>* @see * @since JDK 1.5.0*/
public class DigestInputStreamDemo {public static void main(String[] args) throws Exception {// 待做消息摘要操作的原始信息.final InputStream in = new FileInputStream(new File("D:/temp/附件01.pdf"));// 初始化MessageDigest对象,将使用MD5算法.MessageDigest md = MessageDigest.getInstance("MD5");// 构建DigestInputStream.DigestInputStream dis = new DigestInputStream(in, md);byte[] buf = new byte[in.available()];// 流输入.dis.read(buf, 0, in.available());// 获得摘要信息.byte[] output = dis.getMessageDigest().digest();System.out.println("摘要信息:" + HexUtil.byteArrToHex(output));// 关闭流.dis.close();}
}