Jasypt(Java Simplified Encryption)는 Java/Spring 환경에서 많이 사용되는 암·복호화 및 비밀번호 보호 라이브러리입니다.
특히 Spring Boot 환경에서 ENC(...) 형식으로 설정값을 암호화할 때 널리 사용되고 있어 많은 개발자들이 테스트용 도구를 찾곤 합니다.
이 글에서는 WordPress에서 직접 사용할 수 있는
Jasypt 스타일 암호화/복호화 및 패스워드 매칭 테스트 도구를 제공합니다.
Devglan의 Jasypt 온라인 도구처럼 사용할 수 있으며,
암호화 방식은 PHP OpenSSL 기반으로 구현되었습니다.
⚠️ 주의
이 도구는 “Jasypt 스타일”로 동작하도록 설계된 PHP 구현이며
Java Jasypt 라이브러리와 100% 바이트 호환을 보장하지는 않습니다.
학습·개념 이해·테스트 목적에 적합하며, 실제 Spring Boot 적용 시에는
반드시 Java 환경에서 최종 검증하는 것을 권장합니다.
주요 기능
🔐 1. One-Way Encryption (해시 / 비가역 암호화)
- Jasypt의
PBEStringEncryptor계열과 유사한 방식으로
HMAC-SHA256 기반 비가역 암호화를 수행합니다. - 결과는 Base64 문자열로 출력됩니다.
- 패스워드 저장 또는 Key 검증용 테스트에 유용합니다.
🔒 2. Two-Way Encryption (양방향 암호화, 복호화 가능)
- AES-256-CBC 알고리즘 사용 (Base64 결과 출력)
- Secret Key 기반 IV 생성
- 비교적 “Jasypt에서 기대하는 구조”에 가까운 테스트 방식
✔️ 3. Password Matching (암호 매칭 테스트)
- One-way 암호화로 생성된 해시가
입력한 Plain Text와 일치하는지 비교합니다.
사용 방법
이 글 안에 포함된 테스트 도구를 사용하려면 다음 단계를 따르면 됩니다.
- 암호화할 텍스트 입력
- Encrypt 영역에서 Plain Text 입력
- One-Way 또는 Two-Way 방식 선택
- Secret Key 입력
- 암호화/복호화 공통으로 사용됨
- 결과 확인
- One-Way: Base64 해시 출력
- Two-Way: Base64 암호문 출력
- 복호화 또는 매칭 테스트
- Decrypt 영역에 암호문/해시 입력
- 양방향 암호화는 복호화 수행
- One-Way 암호화는 Plain Text 매칭 여부 검사
테스트하기
Jasypt-Style Encryption / Decryption Test Tool
This is a PHP-based tool that mimics Jasypt-style password-based encryption and hashing. It is intended for testing and educational purposes only, and it is not guaranteed to be byte-for-byte compatible with the official Java Jasypt implementation.
Jasypt-Style Encryption
Jasypt-Style Decryption / Password Match
Spring / Jasypt 사용 시 참고
Spring Boot에서 Jasypt를 사용할 때는 아래와 같은 설정을 많이 사용합니다:
- 예시 알고리즘
PBEWITHHMACSHA512ANDAES_256
PBEWITHHMACSHA256ANDAES_128
- 환경 변수로 암호화 키 전달
ENC(encryptedText)형식으로 application.yml / application.properties에 값 저장
이 도구는 이러한 동작 방식을 이해하는 데 도움이 되며,
Plain → Encrypted 또는 Encrypted → Plain 흐름을 시각적으로 확인할 수 있습니다.
마무리
이 포스트에 포함된 Jasypt 스타일 암·복호화 도구는
Java 기반 Jasypt의 동작을 WordPress/PHP 환경에서도 테스트할 수 있도록 설계되었습니다.
- One-Way / Two-Way 암호화
- Base64 출력
- 복호화 기능
- 비밀번호 매칭 기능
WordPress 내에서 Jasypt 암호화를 실험하거나
Spring Boot 설정값 암호화 구조를 빠르게 이해하고 싶은 개발자에게 도움이 될 것입니다.