[J 2 SE]Java SE Securityプローブ--Hash値


ファイルHash値生成

public class HashUtils {

	/**
	 *   SHA-1 Hash    
	 * 
	 * @param in
	 * @return
	 * @throws Exception
	 */
	public static String generateFileSHA1(String fileUrl) throws Exception {
		InputStream in = new BufferedInputStream(new FileInputStream(fileUrl));
		MessageDigest md = MessageDigest.getInstance("SHA-1");
		byte[] buffer = new byte[8192];
		int length = -1;
		while ((length = in.read(buffer)) != -1) {
			md.update(buffer, 0, length);
		}
		return StringBytesTransformUtils.bytesToHexString(md.digest());
	}

	/**
	 *   MD5 Hash    
	 * 
	 * @param fileUrl
	 * @return
	 * @throws Exception
	 */
	public static String generateFileMD5(String fileUrl) throws Exception {
		InputStream in = new BufferedInputStream(new FileInputStream(fileUrl));
		MessageDigest md = MessageDigest.getInstance("MD5");
		byte[] buffer = new byte[8192];
		int length = -1;
		while ((length = in.read(buffer)) != -1) {
			md.update(buffer, 0, length);
		}
		return StringBytesTransformUtils.bytesToHexString(md.digest());
	}
}