AES 암·복호화
온라인 도구
브라우저에서 패스프레이즈 기반 AES로 텍스트를 암호화·복호화합니다. CryptoJS 호환 암호문 테스트에 적합합니다.
데모·학습용입니다. 키 관리는 사용자 책임이며, 패스프레이즈와 평문은 브라우저에만 머물고 업로드되지 않습니다. 운영 KMS가 아닙니다.
고정 프리셋: CryptoJS 패스프레이즈 AES(OpenSSL 호환 Salted__ Base64, AES-CBC, EvpKDF, 랜덤 솔트). 같은 평문도 실행마다 암호문이 달라질 수 있습니다.
- 입력0
- 출력0
- 옵션암호화
- 프리셋CryptoJS / OpenSSL
입력
암호문
이 도구는 무엇인가요?
패스프레이즈로 짧은 평문을 휴대 가능한 암호문 문자열로 만들고, 같은 패스프레이즈로 다시 평문을 복원합니다. CryptoJS 호환 패스프레이즈 AES로 브라우저에서만 처리됩니다.
고정 프리셋은 OpenSSL 스타일입니다. AES-CBC, EvpKDF로 키·IV 유도, 랜덤 8바이트 솔트, 디코드 시 Salted__로 시작하는 Base64입니다. 솔트가 랜덤이라 같은 평문을 두 번 암호화하면 암호문이 달라질 수 있고, 둘 다 같은 패스프레이즈로 복호화됩니다.
데모·학습용으로 쓰세요. 패스프레이즈 강도·보관·공유 책임은 사용자에게 있습니다. AEAD(GCM)가 아니며 raw 키 래핑·클라우드 KMS 대체재가 아닙니다.
자주 쓰는 경우
- 이미 가진 패스프레이즈로 CryptoJS/OpenSSL 스타일 암호문 복호화 확인
- 패스프레이즈 AES 데모·로컬 실험
- 실제 앱 암호를 붙이기 전 짧은 메모 왕복 테스트
사용 방법
- 암호화 또는 복호화를 선택합니다.
- 평문(또는 암호문)과 패스프레이즈를 입력합니다. 필요하면 표시/숨기기로 타이핑을 확인합니다.
- 암호화/복호화를 클릭합니다(명시적 실행—입력 중 자동 변환 없음).
- 결과 암호문 또는 평문을 복사합니다. Sample은 무해한 데모 메모와 패스프레이즈를 넣습니다.
예시
| 입력 / 설정 | 출력 | 비고 |
|---|---|---|
hello + 패스프레이즈 demo 암호화 | U2FsdGVkX1…로 시작하는 Base64 | OpenSSL Salted__ + 솔트 + 암호문. |
| 동일 평문·패스프레이즈로 두 번 암호화 | 서로 다른 Base64 | 실행마다 솔트 다름; 둘 다 demo로 복호화. |
| 잘못된 패스프레이즈로 복호화 | 오류 | 틀린 비밀번호 또는 형식 불일치. |
Salted__가 아닌 Base64 | 형식 오류 | raw AES hex가 아니라 이 도구의 CryptoJS 프리셋. |
실무에서 흔한 실수
- 전송 보호 ≠ 키 공유: 채팅으로 암호문을 보내도 패스프레이즈를 안전하게 공유해야 합니다. 둘 다 가진 사람은 내용을 읽을 수 있습니다.
- 운영 KMS 아님: 키 회전·감사 로그·AEAD·HSM이 없습니다. AWS/GCP/Azure KMS나 감사된 라이브러리를 쓰세요.
- 약한 패스프레이즈: 탈취한 암호문에 대해 사전 공격이 가능합니다. 민감 데이터에는 긴 난수 비밀과 실제 앱 암호를 쓰세요.
참고자료
최종 검토: 2026-07-27
자주 묻는 질문
- 어떤 AES 모드·형식인가요?
- CryptoJS 패스프레이즈 암호화입니다. AES-CBC, EvpKDF로 키·IV 유도, 랜덤 8바이트 솔트, Salted__ 페이로드의 OpenSSL 호환 Base64입니다. hex 키를 직접 넣는 raw AES나 AES-GCM이 아닙니다.
- Utill.net이 패스프레이즈를 복구할 수 있나요?
- 아니요. 암호화는 브라우저에서만 실행되며, 분실한 패스프레이즈는 복구할 수 없습니다.
- 암호문만 보내면 비밀을 안전하게 공유한 건가요?
- 아닙니다. 암호문도 안전한 채널·접근 제어가 필요하고, 패스프레이즈는 별도 경로로 공유해야 합니다. 전송 중 보호와 키 관리는 다릅니다. 운영에서는 AEAD와 실제 KMS를 쓰세요.
- 개인정보·민감 메모에도 써도 되나요?
- 짧은 로컬 확인·학습용으로만 권장합니다. 장기 보관·규제 데이터는 브라우저 유틸이 아니라 조직의 비밀 관리 정책과 KMS를 따르세요.