[java] Apache Commons Codec의 기타 해시 계산 기능

Apache Commons Codec는 Java에서 문자열과 바이트 배열 간의 변환, 암호화, 해시 등 다양한 인코딩 및 디코딩 유틸리티를 제공하는 라이브러리입니다. 이번에는 Apache Commons Codec의 기타 해시 계산 기능에 대해 알아보겠습니다.

MD5 해시 계산

MD5(Message Digest Algorithm 5)는 일련의 데이터를 고정된 크기의 해시 값으로 변환하는 알고리즘입니다. Apache Commons Codec는 MD5 해시 계산을 위한 DigestUtils 클래스를 제공합니다.

import org.apache.commons.codec.digest.DigestUtils;

public class MD5HashExample {
  public static void main(String[] args) {
    String input = "Hello, world!";
    String md5Hash = DigestUtils.md5Hex(input);
    
    System.out.println("Input: " + input);
    System.out.println("MD5 Hash: " + md5Hash);
  }
}

위의 예제에서 DigestUtils.md5Hex() 메서드를 사용하여 입력 문자열의 MD5 해시 값을 계산합니다. 출력 결과는 다음과 같습니다.

Input: Hello, world!
MD5 Hash: ed076287532e86365e841e92bfc50d8c

SHA 해시 계산

SHA(Secure Hash Algorithm)은 고정 크기의 해시 값을 생성하는 알고리즘입니다. Apache Commons Codec는 SHA-1, SHA-256, SHA-384, SHA-512 등 다양한 SHA 알고리즘의 해시 계산을 지원합니다.

import org.apache.commons.codec.digest.DigestUtils;

public class SHAHashExample {
  public static void main(String[] args) {
    String input = "Hello, world!";
    String sha1Hash = DigestUtils.sha1Hex(input);
    String sha256Hash = DigestUtils.sha256Hex(input);
    
    System.out.println("Input: " + input);
    System.out.println("SHA-1 Hash: " + sha1Hash);
    System.out.println("SHA-256 Hash: " + sha256Hash);
  }
}

위의 예제에서 DigestUtils.sha1Hex()DigestUtils.sha256Hex() 메서드를 사용하여 입력 문자열의 SHA-1과 SHA-256 해시 값을 계산합니다. 출력 결과는 다음과 같습니다.

Input: Hello, world!
SHA-1 Hash: 2ef7bde608ce5404e97d5f042f95f89f1c232871
SHA-256 Hash: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

참고 자료