当前位置: 技术问答>java相关
问题: 谁知道“报文摘要”是干什么用的?也就是说“DigestInputStream和DigestOutputStream”这两个流是干什么用的?
来源: 互联网 发布时间:2015-06-05
本文导语: 他们在java.util.security包中,说是两个过滤器流,计算流的报文摘要(Message digest),我不明白什么叫“报文摘要”,谁能给举个例子讲一下“报文摘要”是干什么用的?谢谢。 | 就是在输入、...
他们在java.util.security包中,说是两个过滤器流,计算流的报文摘要(Message digest),我不明白什么叫“报文摘要”,谁能给举个例子讲一下“报文摘要”是干什么用的?谢谢。
|
就是在输入、输出的同时用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()方法。
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()方法。