ContentMD5Writer.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:Mastering-Java-EE-Development-with-WildFly 作者:
@Override
public void aroundWriteTo(WriterInterceptorContext context) throws IOException, WebApplicationException {

    MessageDigest digest = null;
    try {
        digest = getInstance("MD5");
    } catch (NoSuchAlgorithmException e) {
        throw new IllegalArgumentException(e);
    }
    ByteArrayOutputStream buffer = new ByteArrayOutputStream();
    DigestOutputStream digestStream = new DigestOutputStream(buffer, digest);

    OutputStream old = context.getOutputStream();
    context.setOutputStream(digestStream);
    try {
        context.proceed();

        byte[] hash = digest.digest();
        String encodedHash = getEncoder().encodeToString(hash);
        context.getHeaders().putSingle(CONTENT_MD5_STRING, encodedHash);
        byte[] content = buffer.toByteArray();
        old.write(content);
    } finally {
        context.setOutputStream(old);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号