개발이야기/Java

[Java] Jasypt 암호화, 복호화 사용방법, 예제코드

후린개발자 2024. 4. 14.
반응형

아래 소스코드는 Jasypt를 사용한 암호화, 복호화 코드 방법입니다. 암호화에 사용될 키와 알고리즘 설정을 관리하면서 간편하게 암호호 하고 복호화할 수 있습니다.


간단한 예제이니 참고해서 응용해서 사용하시면 됩니다.

 

 

1. Jasypt (Java Simplified Encryption)

- 데이터를 간편하게 암호화하고 복호화하기 위한 라이브러리입니다.

- Jasypt는 다양한 암호화 알고리즘을 지원합니다. 대칭 키 알고리즘인 DES, AES, Triple DES와 해시 함수인 MD5, SHA 등을 지원합니다.

- 다양한 환경에서 사용될 수 있도록 유연성을 제공합니다. 웹 애플리케이션, 서버 애플리케이션, 스프링 프레임워크 등 다양한 프레임워크와 플랫폼에서 사용할 수 있습니다.

- 암호화에 필요한 설정을 손쉽게 관리할 수 있도록 도와줍니다. 키 관리, 알고리즘 선택, 솔트(Salt) 추가 등을 통해 보안성을 강화할 수 있습니다.

- Spring Framework와 함께 사용하기에 특히 용이합니다. Spring의 환경 설정 파일에서 암호화된 값들을 쉽게 관리할 수 있도록 지원합니다.

- 암호화 키를 안전하게 관리하고 노출을 피해야 합니다.

 

 

2. 소스코드

public class TEST {
    public static String jasyptEncrypt(String value) {
        String key = "TEST@@KEY@@ID"; //암호화에 사용할 키
        StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();
        pbeEnc.setAlgorithm("PBEWithMD5AndDES"); // 알고리즘 설정
        pbeEnc.setPassword(key);
        return pbeEnc.encrypt(value);
    }
    public static String jasyptDecrypt(String encryptedValue) {
        String key = "TEST@@KEY@@ID"; // 복호화에 사용할 키
        StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();
        pbeEnc.setAlgorithm("PBEWithMD5AndDES"); // 알고리즘 설정
        pbeEnc.setPassword(key); 
        return pbeEnc.decrypt(encryptedValue); // 주어진 암호화된 문자열을 복호화하여 반환
    }

    public static void main(String[] args) throws Exception {
        String url = "https://jh-tr.tistory.com";
        String username = "jh-tr";
        String password = "test12341234";
        String text = "안녕하세요.";
        

        String enc_url = jasyptEncrypt(url);
        String enc_username = jasyptEncrypt(username);
        String enc_password = jasyptEncrypt(password);
        String enc_text = jasyptEncrypt(text);
        
        System.out.println("=====암호화=====");
        System.out.println("url : " + enc_url);
        System.out.println("username : " + enc_username);
        System.out.println("password : " + enc_password);
        System.out.println("text : " + enc_text);
        
        // 복호화
        System.out.println("=====복호화=====");
        System.out.println("url : " + jasyptDecrypt(enc_url));
        System.out.println("username : " + jasyptDecrypt(enc_username));
        System.out.println("password : " + jasyptDecrypt(enc_password));
        System.out.println("text : " + jasyptDecrypt(enc_text));

    }
}

1) jasyptEncrypt 메서드

- 주어진 문자열을 암호화합니다

- StandardPBEStringEncryptor 클래스를 사용하여 텍스트를 암호화합니다. Jasypt 라이브러리에 포함되어 있으며, 간단한 문자열을 암호화하기 위한 기능을 제공합니다.

- 암호화에 사용할 키를 설정하고, 그 다음에는 알고리즘을 설정합니다. 여기서는 "PBEWithMD5AndDES" 알고리즘을 사용합니다. 이 알고리즘은 MD5 해시 함수와 DES(Data Encryption Standard) 알고리즘을 사용하여 텍스트를 암호화합니다.


2) jasyptDecrypt 메서드

- 주어진 암호화된 문자열을 복호화합니다.

- StandardPBEStringEncryptor 클래스를 사용하여 텍스트를 복호화합니다.

- 암호화할 때와 마찬가지로 키와 알고리즘을 설정하고, 주어진 암호화된 값을 복호화하여 반환합니다.

 


 

[Java] Jasypt 암호화, 복호화 사용방법, 예제코드 - undefined - undefined - 2. 소스코드
console.log 출력 결과

반응형

댓글