sha256

import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.security.MessageDigest;

public class SHA256File {

	String official_checksum = "";

	void OnEncFile() {

		System.out.println("Getting file...");

		File file = new File("/datas/upload/zip/bankcode_NJCBCNBN123444_20170328095225.zip");

		if (file.exists()) {

			System.out.println("File got.");

		} else {

			System.err.println("File not got.");

		}

		System.out.print("Calcuclating SHA-256 checksum......");

		String FileSHA256 = getFileSHA256(file);

		System.out.println();

		System.out.println("File's SHA-256 checksum is: ");

		System.out.println(FileSHA256);

		System.out.println(official_checksum + " --- the official checksum");

		if (official_checksum.equals(FileSHA256)) {

			System.out.println("SHA-256 checksums are the same.");

		} else {

			System.err.println("SHA-256 checksums differ!!!!");

		}

	}

	public  static String getFileSHA256(File file) {

//		if (!file.isFile()) {
//
//			System.err.println("not file");
//
//			return null;
//
//		}

		MessageDigest digest = null;

		FileInputStream in = null;

		byte buffer[] = new byte[1024];

		int len;

		try {

			digest = MessageDigest.getInstance("SHA-256");

			in = new FileInputStream(file);

			while ((len = in.read(buffer, 0, 1024)) != -1) {

				digest.update(buffer, 0, len);

			}

			in.close();

		} catch (Exception e) {

			e.printStackTrace();

			return null;

		}

		BigInteger bigInt = new BigInteger(1, digest.digest());

		return bigInt.toString(16);

	}
	
	public static void main(String[] args) {
		new SHA256File().OnEncFile();
	}

}

你可能感兴趣的:(sha256)