비밀번호로 텍스트를 AES-256-GCM 암호화하고 복호화하는 방법
텍스트와 비밀번호를 입력한 뒤 암호화를 선택하면 AES-256-GCM 기반 토큰이 생성됩니다. 복호화에는 생성된 토큰 전체와 같은 비밀번호가 필요합니다.
비밀번호로 텍스트를 암호화하고 복호화하는 용도
이 도구는 텍스트를 비밀번호로 보호할 수 있도록 AES-256-GCM 방식으로 암호화하고, 암호화에 사용한 비밀번호로 다시 복호화하는 데 사용합니다. 암호화와 복호화 중 하나를 선택해 입력할 수 있어 텍스트를 전달하거나 보관하기 전에 변환하는 작업에 적합합니다. 입력한 텍스트가 비어 있으면 비밀번호 확인보다 먼저 성공적인 빈 결과가 반환됩니다.
사용 방법
- 텍스트 입력란에 암호화하거나 복호화할 내용을 입력합니다.
- 비밀번호를 입력하고 암호화 또는 복호화 동작을 선택합니다. 텍스트가 비어 있지 않다면 두 동작 모두 비밀번호가 필요합니다.
- 암호화할 때 실행하면 URL-safe Base64 텍스트 토큰이 생성됩니다. 이 토큰에는 버전 접두사, 암호화에 사용된 솔트와 논스, 인증된 암호문이 포함됩니다.
- 복호화할 때는 도구가 만든 토큰 전체와 암호화 당시 사용한 동일한 비밀번호를 입력한 뒤 복호화를 실행합니다.
결과를 해석하는 방법
같은 텍스트와 같은 비밀번호로 암호화해도 결과 토큰이 달라질 수 있습니다. 암호화할 때마다 새로운 16바이트 솔트와 12바이트 논스가 무작위로 생성되기 때문입니다. 비밀번호에서 PBKDF2-HMAC-SHA256으로 32바이트 암호화 키를 만들며, 반복 횟수는 600000회입니다.
복호화에 성공하면 원래 UTF-8 텍스트가 복원됩니다. 토큰 형식이 잘못되었거나 토큰이 변경되었거나 비밀번호가 틀리면 하나의 결합된 오류로 처리되므로, 오류만으로 원인을 구분할 수 없습니다. 암호화 토큰을 보관할 때는 복호화에 필요한 비밀번호를 토큰과 함께 저장하지 마세요.
사용 예시
회의 메모를 다른 작업 단계에서 다시 확인해야 하는 상황에서 텍스트를 암호화한 뒤 같은 비밀번호로 복호화합니다.
회의 메모인 ‘내일 오전 10시에 검토’를 텍스트로 입력하고 비밀번호를 정한 뒤 암호화를 실행합니다. 반환된 토큰 전체를 복사해 복호화 입력에 넣고 같은 비밀번호로 실행합니다.
암호화하면 하나의 URL-safe Base64 텍스트 토큰이 반환되고, 그 토큰 전체와 같은 비밀번호로 복호화하면 입력한 UTF-8 문장이 다시 반환됩니다.
제한 사항
- 복호화는 도구가 만든 토큰 전체와 암호화에 사용한 동일한 비밀번호가 있을 때만 원문을 복원할 수 있으며, 잘못된 토큰과 잘못된 비밀번호의 원인을 따로 구분하지 않습니다.
자주 발생하는 오류
- 복호화 오류의 원인은 토큰이 일부 누락되었거나 변경되었거나 비밀번호가 틀린 경우일 수 있습니다. 토큰 전체를 다시 입력하고 암호화에 사용한 비밀번호를 확인해 보세요. 도구는 이 원인들을 구분해 알려주지 않습니다.
자주 묻는 질문
비밀번호 없이 사용할 수 있나요?
텍스트가 비어 있으면 비밀번호를 입력하지 않아도 먼저 성공적인 빈 결과가 반환됩니다. 텍스트가 비어 있지 않을 때는 암호화와 복호화 모두 비밀번호가 필요합니다.
같은 내용을 암호화하면 항상 같은 토큰이 나오나요?
가능합니다. 암호화할 때마다 새로운 16바이트 솔트와 12바이트 논스가 생성되므로, 같은 텍스트와 비밀번호라도 토큰이 달라질 수 있습니다.
암호화 토큰을 복호화하려면 무엇이 필요한가요?
복호화에는 도구가 만든 토큰 전체와 암호화에 사용한 동일한 비밀번호가 필요합니다. 둘 중 하나가 잘못되면 결합된 잘못된 암호문 또는 비밀번호 오류로 처리됩니다.