天天看點

Java-IO之DigestInputStream sha256 計算hash值

import java.io.ByteArrayInputStream;
import java.security.DigestInputStream;
import java.security.MessageDigest;

public class DigestIO {
    private static String message = "hello";

    public static void main(String[] args) throws Exception {
        ByteArrayInputStream bis = new ByteArrayInputStream(message.getBytes());
        DigestInputStream dis = new DigestInputStream(bis,
                MessageDigest.getInstance("SHA-256"));

        byte[] b = new byte[1024];
        int len = 0;
        while ((len = dis.read(b)) != -1) {
            System.out.println("讀取了 ["+len+"] 個位元組");
        }
        dis.close();
        byte[] digest = dis.getMessageDigest().digest();
        for (byte c : digest) {
            System.out.println(c);
        }
    }
}