1. 개요
체크섬은 파일을 고유하게 식별하는 데 사용되는 일련의 문자입니다. 파일 사본이 원본과 동일한지 확인하는 데 가장 일반적으로 사용됩니다.
이 짧은 사용방법(예제)에서는 Java 에서 파일에 대한 MD5 체크섬을 생성하는 방법을 살펴봅니다.
2. MessageDigest 클래스 사용
파일에 대한 MD5 체크섬을 생성하기 위해 java.security 패키지의 MessageDigest 클래스를 쉽게 사용할 수 있습니다 .
byte[] data = Files.readAllBytes(Paths.get(filePath));
byte[] hash = MessageDigest.getInstance("MD5").digest(data);
String checksum = new BigInteger(1, hash).toString(16);
3. Apache Commons 코덱 사용
Apache Commons Codec 라이브러리의 DigestUtils 클래스를 사용 하여 동일한 목표를 달성할 수도 있습니다.
pom.xml 파일 에 의존성을 추가해 보겠습니다 .
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
이제 md5Hex() 메서드를 사용하여 파일의 MD5 체크섬을 얻습니다.
try (InputStream is = Files.newInputStream(Paths.get(filePath))) {
String checksum = DigestUtils.md5Hex(is);
// ....
}
스트림을 닫는 것에 대해 걱정할 필요가 없도록 try-with-resources 를 사용하는 것을 잊지 마십시오.
4. 구아바 사용
마지막으로 Guava 의 ByteSource 객체 의 hash() 메서드를 사용할 수 있습니다.
File file = new File(filePath);
ByteSource byteSource = com.google.common.io.Files.asByteSource(file);
HashCode hc = byteSource.hash(Hashing.md5());
String checksum = hc.toString();
5. 결론
이 빠른 사용방법(예제)에서는 Java 에서 파일에 대한 MD5 체크섬을 생성하는 다양한 방법을 보여주었습니다.
항상 그렇듯이 이 기사의 예제 코드는 GitHub 에서 찾을 수 있습니다 .