単一ファイルのMD 5値の取得

720 ワード

基礎知識:
  • MessageDigest
  • FileInputStream
  • テクニックwhile((len=in.read(buffer,01024)!=-1){}
  • BigInteger
  • public static String getFileMD5(File file) {
    		if (!file.isFile()) {
    			return null;
    		}
    		MessageDigest digest = null;
    		FileInputStream in = null;
    		byte buffer[] = new byte[1024];
    		int len;
    		try {
    			digest = MessageDigest.getInstance("MD5");
    			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);
    	}