[java] Apache Commons Lang 을 사용하여 문자열을 암호화하는 방법

Apache Commons Lang은 자바 개발자들에게 유용한 유틸리티 클래스들을 제공하는 라이브러리입니다. 이 라이브러리를 사용하여 문자열을 암호화하는 방법을 알아보겠습니다.

1. Apache Commons Lang 라이브러리 추가

먼저, 프로젝트의 의존성에 Apache Commons Lang 라이브러리를 추가해야 합니다. 이를 위해 Maven의 경우, pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다:

dependencies {
    implementation 'org.apache.commons:commons-lang3:3.12.0'
}

의존성을 추가한 후, 프로젝트를 업데이트하여 라이브러리를 다운로드 받습니다.

2. 문자열 암호화하기

Apache Commons Lang은 DigestUtils 클래스를 통해 다양한 해싱 알고리즘을 지원합니다. 이를 이용하여 문자열을 암호화할 수 있습니다.

아래는 SHA-256 알고리즘을 사용하여 문자열을 암호화하는 예시 코드입니다:

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

public class StringEncryptionExample {
    public static void main(String[] args) {
        String plainText = "Hello, World!";
        String encryptedText = DigestUtils.sha256Hex(plainText);
        
        System.out.println("Plaintext: " + plainText);
        System.out.println("Encrypted text: " + encryptedText);
    }
}

위 코드에서 DigestUtils.sha256Hex() 메서드를 사용하여 문자열을 SHA-256 해시값으로 변환합니다. 변환된 값을 encryptedText 변수에 저장한 후 출력합니다.

3. 실행 결과

위 예시 코드를 실행하면 다음과 같은 결과가 출력됩니다:

Plaintext: Hello, World!
Encrypted text: 0a4d55a8d778e5022fab701977c5d840bbc486d0e5214b7d1f2340587d28cdb4

참고 자료