728x90
MD5는 과거 128비트 암호화 해시함수로 사용되었으나 암호화 결함 오류로인해 암호화에는 사용되지 않고 파일의 무결성 검사에 주로 사용되고 있다 나도 그 용도로 사용중에 있다
public static byte[] createChecksum(String filename) throws Exception {
InputStream fis = new FileInputStream(filename);
byte[] buffer = new byte[1024];
MessageDigest complete = MessageDigest.getInstance("MD5");
int numRead;
do {
numRead = fis.read(buffer);
if (numRead > 0) {
complete.update(buffer, 0, numRead);
}
} while (numRead != -1);
fis.close();
return complete.digest();
}
public static String getMD5Checksum(String filename) throws Exception {
byte[] b = createChecksum(filename);
String result = "";
for (int i=0; i < b.length; i++) {
result += Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 );
}
return result;
}
복붙으로 가져다 넣고 getMD5Checksum(파일경로+파일명)으로 호출해서 사용하면 된다
참고 : ko.wikipedia.org/wiki/MD5
참고2 : stackoverflow.com/questions/304268/getting-a-files-md5-checksum-in-java
틀린내용이나 질문은 댓글남겨주세요
728x90
'운동하는 개발자 > Java' 카테고리의 다른 글
Java Memory leak 추적 (0) | 2022.03.27 |
---|---|
eclipse 외부 jar 추가 하는법 / 외부 라이브러리 추가 / JAR import to eclipse (1) | 2021.03.10 |
Eclipse JAR file와 Runnable JAR file 차이점 / JAR vs Runnable JAR (0) | 2021.03.09 |
윈도우 JNLP 확장자 파일 실행 방법 (0) | 2021.02.17 |