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();
}
}
还没有评论,来说两句吧...