Java Hash Calculate getHash(String fileName, String hashType)

Here you can find the source of getHash(String fileName, String hashType)

Description

get Hash

License

Apache License

Declaration

private static String getHash(String fileName, String hashType) throws Exception 

Method Source Code


//package com.java2s;
//License from project: Apache License 

import java.io.FileInputStream;
import java.io.InputStream;

import java.security.MessageDigest;

public class Main {
    private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c",
            "d", "e", "f" };

    private static String getHash(String fileName, String hashType) throws Exception {
        InputStream fis;/*from www .  j  a v a2s  .  c  o  m*/
        fis = new FileInputStream(fileName);
        byte[] buffer = new byte[1024];
        MessageDigest md5 = MessageDigest.getInstance(hashType);
        int numRead = 0;
        while ((numRead = fis.read(buffer)) > 0) {
            md5.update(buffer, 0, numRead);
        }
        fis.close();
        // return toHexString(md5.digest());
        return byteArrayToHexString(md5.digest());
    }

    private static String byteArrayToHexString(byte[] b) {
        StringBuffer resultSb = new StringBuffer();

        for (int i = 0; i < b.length; i++) {
            resultSb.append(byteToHexString(b[i]));
        }
        return resultSb.toString();
    }

    private static String byteToHexString(byte b) {
        int n = b;
        if (n < 0)
            n = 256 + n;
        int d1 = n / 16;
        int d2 = n % 16;
        return hexDigits[d1] + hexDigits[d2];
    }
}

Related

  1. getHash(InputStream is, String algorithm)
  2. getHash(int iterationNb, String password, byte[] salt)
  3. getHash(String algorithm, int i)
  4. getHash(String credentials)
  5. getHash(String Data)
  6. getHash(String givenStr)
  7. getHash(String input)
  8. getHash(String input)
  9. getHash(String key)