aboutsummaryrefslogtreecommitdiffstats
path: root/AndroidAsync/test/src/com/koushikdutta/async/test/Md5.java
blob: a6c4b18fec025d2ad921506e2b1b0acc3e68e962 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.koushikdutta.async.test;

import com.koushikdutta.async.ByteBufferList;

import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5 {
    private MessageDigest digest;
    public static Md5 createInstance() throws NoSuchAlgorithmException {
        Md5 md5 = new Md5();
        md5.digest = MessageDigest.getInstance("MD5");
        return md5;
    }
    
    private Md5() {
        
    }
    public void update(ByteBufferList bb) {
        while (bb.size() > 0) {
            ByteBuffer b = bb.remove();
            digest.update(b);
        }
    }
    
    public String digest() {
        String hash = new BigInteger(digest.digest()).toString(16);
        return hash;
    }
}