아래 소스코드는 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. 소스코드 [Java] Jasypt 암호화, 복호화 사용방법, 예제코드 - undefined - undefined - 2. 소스코드](https://blog.kakaocdn.net/dn/blByy6/btsGByIF0KY/wAh2BycvJld2bnFfBZOmX0/img.png)
'개발이야기 > Java' 카테고리의 다른 글
[Java] 로그(log) 파일 만들기 (Logger 클래스 사용) (0) | 2024.05.23 |
---|---|
[Java] 문자열에서 숫자만 추출하기 (메서드, 예제코드) (0) | 2024.05.16 |
[Java] 특정 문자열 찾기, 포함여부 (contains 메서드 사용방법, 예제) (0) | 2024.02.20 |
[Java] ArrayList 사용방법(생성, 예제, 메서드) (0) | 2024.02.16 |
[Java] LocalDateTime을 활용해서 날짜와 시간 처리하기 (0) | 2024.02.13 |
댓글